1 条题解

  • 0
    @ 2026-1-10 15:54:43
    using namespace std;
    
    int main() {
        int n;
        cin >> n;
        int a[101][101] = {0};
        int num = 1;
        
        for (int j = 1; j <= n; j++)
        {
            int h = 1;
            int l = j;
            while (h <= n && l >= 1)
            {
                if(j%2==0)a[h][l]=num++;
                else a[l][h]=num++;
                h++;
                l--;
            }  
        }
        
        for(int i = 2; i <= n; i++)
        {
            int h = i;
            int l = n;
            while (h <= n && l >= 1)
            {
                if((n+i)%2!=0)a[h][l]=num++;
                else a[l][h]=num++;
                h++;
                l--;
            }	
        }
        
        for(int i = 1; i <= n; i++) {
            for(int j = 1; j <= n; j++) {
                cout << a[i][j];
                if(j < n) cout << " ";
            }
            cout << endl;
        }
        
        return 0;
    }
    
    

    [入门赛 #10] Coin Selection G(hard version)

    信息

    ID
    8486
    时间
    1000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    0
    已通过
    0
    上传者