样例没问题,只有10测试点,有测试数据吗?求大佬指点
查看原帖
样例没问题,只有10测试点,有测试数据吗?求大佬指点
452063
user1542043226楼主2022/1/4 15:28
#include <bits/stdc++.h>
using namespace std;
int a[515][515],b[515][515],n,m,t=1;
int main()
{
//	freopen("test.in","r",stdin);
   cin>>n>>m;
   for(int i=1;i<=n;i++)
   	for(int j=1;j<=n;j++)
   		b[i][j]=a[i][j]=t++;
	for(int i=1;i<=m;i++) {
   	int x,y,r,z,x1,y1;
   	cin>>x>>y>>r>>z;
   	x1=x-r;
   	y1=y-r;
   	if(z==0){
   		for(int i=x-r;i<=x+r;i++){
   			for(int j=y+r;j>=y-r;j--){
   				a[x1][y1++]=b[j][i];
//   				cout<<b[j][i]<<" ";
   					if(y1>y+r){
   					x1++;
					y1=y-r;	
				}
			}
//			cout<<endl;
		}
			
	}else{
   		for(int i=x+r;i>=x-r;i--){
   			for(int j=y-r;j<=y+r;j++){
   				a[x1][y1++]=b[j][i];
   					if(y1>y+r){
   					x1++;
					y1=y-r;	
				}
			}
		}
	}
	 for(int i=1;i<=n;i++)
   	for(int j=1;j<=n;j++)
   		b[i][j]=a[i][j]; 
   } 
    for(int i=1;i<=n;i++){
   	for(int j=1;j<=n;j++){
   		cout<<b[i][j]<<" ";
   	}
   	cout<<endl;
   }
   return 0;
}

2022/1/4 15:28
加载中...