翻转始终不对,哪位大神能帮忙看看!---谢谢了。
查看原帖
翻转始终不对,哪位大神能帮忙看看!---谢谢了。
712087
fennudexiaozhiyin楼主2023/3/31 22:43
#include<bits/stdc++.h>
using namespace std;
int n,m;
int q[600][600];
void zz(int a,int b,int c){
	int t ;
	for(int i=a-(c*2+1)/2;i<a+(c*2+1)/2;i++){
		for(int j=b-(c*2+1)/2;j<b+(c*2+1)/2;j++){
			t=q[i][j];
			q[i][j]=q[j][i];
			q[j][i]=t;
		}
	}
	return ;
}
//void fz(int a,int b,int c){
//	int tt;
//	for(int i=a-c/2-1;i<a+c/2-1;i++){
//		for(int j=b-c/2-1;j<b+c/2-1;j++){
//            tt = q[j][b-i+1];
//            q[j][b-i+1] = q[a-i+1][b-j+1];
//            q[a-i+1][b-j+1] = q[a-j+1][i];
//            q[a-j+1][i] = q[i][j];
//            q[i][j]= tt;
//		}
//	}
//	return ;
//}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=n-1;j>=0;j--){
			q[i][j]=i*n-j;

		}
	}
	
	for(int i=0;i<m;i++){
		int x,y,r,z;
		cin>>x>>y>>r>>z;
		if(z==0){
			zz(x,y,r);
		}
//		else if(z==1){
//			fz(x,y,r);
//		}
//			
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			cout<<q[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
2023/3/31 22:43
加载中...