21 条题解

  • -1
    @ 2023-5-7 18:03:20

    #include <math.h> #include <stdio.h> #include #include <string.h> #include 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(f == 0) x++ ,y--; else if(f == 1) 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; }

    信息

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