80分求助(8,9点WA)
查看原帖
80分求助(8,9点WA)
1411149
yonghu10010楼主2024/10/14 22:05
#include<cstdio>
int n,m;
long long num;
int main(){
	scanf("%d%d",&n,&m);
	int a[n][n],b[n][n],x[m],y[m];
	long long r[m];
	bool z[m];
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			a[i][j]=b[i][j]=++num;
		}
	}
	for(int i=0;i<m;i++){
		scanf("%d%d%lld%d",&x[i],&y[i],&r[i],&z[i]);
	}
	for(int i=0;i<m;i++){
		for(int j=x[i]-r[i]-1;j<=x[i]+r[i]-1;j++){
			for(int k=y[i]-r[i]-1;k<=y[i]+r[i]-1;k++){
				if(z[i]){
					a[j][k]=b[k+x[i]-y[i]][-j+x[i]+y[i]-2];
				}else{
					a[j][k]=b[-k+x[i]+y[i]-2][j-x[i]+y[i]];
				}
			}
		}
		for(int j=0;j<n;j++){
			for(int k=0;k<n;k++){
				b[j][k]=a[j][k];
			}
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			printf("%d ",a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
2024/10/14 22:05
加载中...