題目
還是 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;
}