8 条题解

  • -1
    @ 2023-3-21 17:20:06
    #include<iostream>
    using namespace std;
    int a[101][101],n,x,y,cnt=1;
    int main()
    {
    	cin>>n;
    	a[1][1]=1;
    	x=2;y=1;
    	while(cnt<n*n)
    	{
    		//right-up
    		while(x>0&&y<=n)
    		{
    			a[x][y]=++cnt;
    			x--;y++;
    		}
    		if(x==0&&y<=n)x++;
    		else
    		{
    			x+=2;
    			y--;
    		}
    		while(y>0&&x<=n)
    		{
    			a[x][y]=++cnt;
    			y--;x++;
    		}
    		if(y==0&&x<=n)y++;
    		else
    		{
    			x--;
    			y+=2;
    		}
    	}
    	for(int i=1;i<=n;i++)
    	{
    		for(int j=1;j<=n;j++)cout<<a[i][j]<<' ';
    		cout<<endl;
    	}
    	return 0;
    }
    

    信息

    ID
    1063
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    递交数
    286
    已通过
    120
    上传者