首页 > 编程知识 正文

codeforces怎么上分,codeforces怎么提交代码

时间:2023-05-04 10:03:27 阅读:31712 作者:2309

链接: 3358 code forces.com/contest/706/problem/e题意:给出n*m的矩阵,给出q次剪切交换,每次给出a、b、c、d、h、w,左上角为(a、b ) o(q* ) nm )代码: # include map # includeset # include cmath # include queue # include bitset # include math.h # include vector pragma comment (链接器,' /堆栈3360102400000,10240000 ' ) using namespace std; 常数int n=1010; 常数int mod=998244353; 常数输入模式1=100000007; 常数int mod2=100000009; 常数双精度EPS=0.00000001; 泰普德夫龙龙LL; const ll MOD=1000000007; 常数int INF=1000000010; const ll MAX=1ll55; 常数双精度EPS=1e-5; 常数双精度=~0u 1; constdoublepi=ACOS(-1.0; 类型双数据库; typedef unsigned int uint; 类型def unsigned long long ull; 结构节点{ int x,y; 节点() node () int y,int y ) :x(x ) x,y ) ) }l[n],r[n],U[N][N],d[n]; int g[N][N]; int main () { int i,j,n,m,q; int a、b、c、d、h、w; 节点新1,swp1,新2,swp2; 节点top_left2,top_left2; 扫描() %d%d )、n、m、q ); for(I=1; i=n; I ) for ) j=1; j=m; j ) scanf('%d ',g[i][j]; for(I=0; i=n 1; I ) for ) j=0; j=m 1; j({L[I][j]=node(I,j-1 ); r [ I ] [ j ]=节点(I,j 1); u[I][j]=node(I-1,j ); d[I][j]=node(I1,j ); (while ) q-- (扫描) (%d%d%d%d%d ) d )、a、b、c、d、h、w ); top _ left1=节点(a,0 ); top _ left2=节点(c,0 ); for(I=1; i=b; I ) top _ left1=r [ top _ left1. x ] [ top _ left1. y ]; for(I=1; i=d; I ) top _ left2=r [ top _ left2. x ] [ top _ left2. y ]; now1=top_left1; now2=top_left2; for(I=1; i=w; I ) { swp1=U[now1.x][now1.y]; swp2=U[now2.x][now2.y]; U[now1.x][now1.y]=swp2; U[now2.x][now2.y]=swp1; D[swp1.x][swp1.y]=now2; D[swp2.x][swp2.y]=now1; if(I!=w ) now1=R[now1.x][now1.y],now2=R[now2.x][now2.y]; (for ) I=1; i=h; I ) { swp1=R[now1.x][now1.y]; swp2=R[now2.x][now2.y]; R[now1.x][now1.y]=swp2; R[now2.x][now2.y]=swp1; L[swp1.x][swp1.y]=now2; L[swp2.x][swp2.y]=now1; if(I!=h ) now1=D[now1.x][now1.y],now2=D[now2.x][now2.y]; (for ) I=1; i=w; I ) { swp1=D[now1.x][now1.y]; swp2=D[now2.x][now2.y]; D[now1.x][now1.y]=swp2; D[now2.x][now2.y]=swp1; U[swp1.x][swp1.y]=now2; U[swp2.x][swp2.y]=now1; if(I!=w ) now1=L[now1.x][now1.y],now2=L[now2.x][now2.y]; (for ) I=1; i=h; I ) { swp1=L[now1.x][now1.y]; swp2=L[now2.x][now2.y]; L[now1.x][now1.y]=swp2; L[now2.x][now2.y]=swp1; R[swp1.x][swp1.y]=now2; R[swp2.x][swp2.y]=now1; if(I!=h ) now1=U[now1.x][now1.y],now2=U[now2.x][now2.y]; }for(I=1; i=n; I ) )新1=节点(I,0 ); for(j=1; j=m; j({now1=r[now1.x][now1.y]; printf('%d ',g[now1.x][now1.y]; }printf((n ); }返回0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。