没对,样例是没问题的,不知道问什么,问问大佬们
查看原帖
没对,样例是没问题的,不知道问什么,问问大佬们
479936
simple1楼主2021/5/31 23:17
#include <iostream>

using namespace std;

int num[1000][1000];
int numx[100][100];
int small[10][10];
int main()
{
	int n,m;
	cin>>n>>m;
	int k=1;
	for(int i=1;i<=n;++i)
		for(int j=1;j<=n;++j)
		{
			num[i][j]=k++;
		}
	for(int s=1;s<=m;++s)
	{
		int x,y,r,z;
		cin>>x>>y>>r>>z;
		for(int i=x-r,i1=1;i<=x+r;i++,i1++)
		{
			for(int j=y-r,j1=1;j<=y+r;j++,j1++)
			{
				small[i1][j1]=num[i][j];
			}
		}
		if(z==0)
		{
			for(int i=1;i<=2*r+1;i++)
			for(int j=1;j<=2*r+1;++j)
			{
				numx[j][(2*r+1)-i+1]=small[i][j];
			}
		}
		else {
			for(int i=1;i<=2*r+1;i++)
			for(int j=1;j<=2*r+1;++j)
			{
				numx[(2*r+1)-j+1][i]=small[i][j];
			}
		}
		for(int i=x-r,i1=1;i<=x+r;i++,i1++)
		for(int j=y-r,j1=1;j<=y+r;j++,j1++)
			num[i][j]=numx[i1][j1];
	}
	for(int i=1;i<=n;++i)
		{
			for(int j=1;j<=n;++j)
			cout<<num[i][j]<<" ";
			cout<<endl;
		}
	return 0;
 } 
2021/5/31 23:17
加载中...