只做了逆时针,但还有一些没有转换!!!
查看原帖
只做了逆时针,但还有一些没有转换!!!
1110271
SDFZ_SHH楼主2023/12/15 13:30
#include <bits/stdc++.h>
using namespace std;
int cs1,a,num,b,t,x,y,z,r,u;
int main(){
	cin >> cs1 >> num;
	int cs[cs1+5][cs1+5],ans[cs1+5][cs1+5];
	for (int i = 1;i <= cs1;i ++){
		for (int e = 1;e <= cs1;e ++){
			a ++;
			cs[i][e] = a;
		}
	}
	for (int i = 1;i <= cs1;i ++){
		for (int e = 1;e <= cs1;e ++){
			cout << cs[i][e] << ' ';
		}
		cout << endl;
	}
	for (int i = 1;i <= num;i ++){
		cin >> x >> y >> r >> z;
		if (z == 1){
			for (int i = r;i > 0;i --){
				t = cs[x + i][y - i];		cs[x + i][y - i] = cs[x - i][y - i];		u = cs[x + i][y + i];		cs[x + i][y + i] = t;		t = cs[x - i][y + i];		cs[x - i][y + i] = u;		cs[x - i][y - 1] = t;
//				t = 3										3 = 1						u = 9										9 = 3		t = 7										7 = 9						1 = t
				t = cs[x][y - i];		cs[x][y - i] = cs[x - i][y];		u = cs[x + i][y];		 cs[x + i][y] = t;		t = cs[x][y + i];		cs[x][y + i] = u;		cs[x - i][y] = t;
				//   t = 2						2 = 4						u = 6								6 = 2		t = 8							   4 = 8			
			}
			for (int i = 1;i <= cs1;i ++){
				for (int e = 1;e <= cs1;e ++){
					cout << cs[i][e] << ' ';
				}
				cout << endl;
			}
		}
		if (z == 0){
			for (int i = r;i > 0;i --){
				cs[x - i][y - i] = t;cs[x - i][y - i] = cs[x][y];cs[x][y] = t;
				cs[x][y] = t;cs[x][y] = cs[x][y];cs[x][y] = t;
				cs[x][y] = t;cs[x][y] = cs[x][y];cs[x][y] = t;
				cs[x][y] = t;cs[x][y] = cs[x][y];cs[x][y] = t;
			}
		}
	}
	return 0;
}

~~一个13岁的人类_ ~~

2023/12/15 13:30
加载中...