21 条题解

  • -2
    @ 2024-11-1 19:48:26

    #include<bits/stdc++.h> using namespace std; int dx[]={0,1,0,-1}; int dy[]={1,0,-1,0}; int a[100][100]; int main() { int n; cin>> n; int num =1; int x,y; int f=0; x=y=1; while(num<=n*n) { a[x][y]=num++; x+=dx[f]; y+=dy[f]; if(x>n||y>n||x<1||y<1||a[x][y] !=0) { if(f0) x++,y--; else if(f1) x--,y--; else if(f==2) x--,y++; else x++,y++; f++; f %= 4; } } for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<a[i][j] <<" "; cout<<endl; } return 0; } //直接AC !

    信息

    ID
    1043
    时间
    1000ms
    内存
    32MiB
    难度
    6
    标签
    递交数
    781
    已通过
    254
    上传者