求助:WA
查看原帖
求助:WA
422089
豌豆迫击炮250楼主2021/7/1 13:39
#include <iostream>
using namespace std;
int a[500][500], temp[1000][1000];
void init(int n){
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			a[i][j] = i * n + j + 1;
		}
	}
}
void fun(int x, int y, int r){
	for(int i = x - r; i <= x + r; i++){
		for(int k = y - r; k <= y + r; k++)
			temp[i][k] = a[i][k];
	}
	int x1 = x + r, y1 = y - r;
	for(int i = x - r; i <= x + r; i++){
		for(int k = y - r; k <= y + r; k++){
			a[i][k] = temp[x1][y1];
			x1--;
		}
		x1 = x + r, y1++;
	}
}

void fun2(int x, int y, int r){
	for(int i = x - r; i <= x + r; i++){
		for(int k = y - r; k <= y + r; k++)
			temp[i][k] = a[i][k];
	}
	int x1 = x - r, y1 = y + r;
	for(int i = x - r; i <= x + r; i++){
		for(int k = y - r; k <= y + r; k++){
			a[i][k] = temp[x1][y1];
			x1++;
		}
		y1--, x1 = x - r;
	}
}
int main(){
	int n, m;
	cin >> n >> m;
	init(n);
	for(int i = 0; i < m; i++){
		int x, y, r, z;
		cin >> x >> y >> r >> z;
		if(z == 0){
			fun(x - 1, y - 1, r);
		}
		if(z == 1){
			fun2(x - 1, y - 1, r);
		}
	}
	for(int i = 0; i < n; i++){
		for(int j = 0; j < n; j++){
			cout << a[i][j] << endl;
		}
	}
	return 0;
}

为啥会WA,线路两天,改了两天,想破头都没明白!

2021/7/1 13:39
加载中...