8 条题解

  • 2
    @ 2023-5-7 18:01:57
    #include<iostream>
    using namespace std;
    const int N=1e5+10;
    int a[110][110],n,x,y,cnt=1;
    int main(){
        cin>>n;
        a[1][1]=1;
        x=2;
        y=1;
        while(cnt<n*n){
            while(x>=1&&y<=n){
                a[x][y]=++cnt;
                x--;
                y++;
            }
            if(x==0&&y<=n){
                x++;
            }else{
                x+=2;
                y--;
            }
            while(y>=1&&x<=n)
            {
                a[x][y]=++cnt;
                x++;
                y--;
            }
            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
上传者