SWUSTOJ #599 拉丁方陣

題目

還是 Archmager 的題了,這次就沒有那麼多廢話了,請大家構造 N*N 階的拉丁方陣(2 <= N <= 9),使方陣中的每一行和每一列中數字 1 到 N 只出現一次。如 N=4 時: 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 這可是送分的題哦,抓緊把!!!

輸入

輸入 n

輸出

輸出對應的拉丁矩陣,每兩個數字之間間隔一個空格,每輸出 n 個數後換行。

樣例輸入

4

樣例輸出

1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3

源代碼

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int f = 0, j;
    for(int i=0; i<n; i++)
    {
        for(j=i; j<n; j++)
        {
            if(j == i)
            {
                cout << j+1;
                continue;
            }
            cout << " " << j+1;
        }
        f ++;
        if(f>0)
        {
            for(int k=0; k<f-1; k++)
            {
                cout << " " << k+1;
            }
        }
        cout << endl;
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章