peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n*n的**裡填數,規則:對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n*n的**列印出來吧。
輸入描述:
多組測試資料(資料量在100組以內)。每組測試資料只有一行為乙個整數n(1<=n<=30),表示**的大小。
輸出描述:
對於每組輸入資料,輸出n行,為填完的**(n行,每行n個整數,每個數字之間用空格隔開。
輸入樣例:35
輸出樣例:
1 2 3
4 6 7
5 8 9
1 2 3 4 5
6 10 11 12 13
7 14 17 18 19
8 15 20 22 23
9 16 21 24 25
思路(個人觀點):總共分為兩個步驟,一是填數,二是輸出。關鍵是填數這個過程。觀察n=4的例子不難發現,首先是第一行n個數從1到n,然後後面的可以兩個操作分為一組,n-1個豎著的數和n-1個橫著的數為一組,接著是n-2個,n-3個,一直到1個。所以程式中是先填第一行,再一組一組地填,每填乙個資料要加一,這樣就是1到n*n。輸出時需注意,數與數之間有空格,但是行最後沒有,所以輸出乙個數,輸出空格,到每行最後乙個時輸出換行。
下面附**
#include
using namespace std;
void main()
for(int j=1;jfor(q=j;q}for(p=0;p}cout<}
四川大學線下程式設計比賽第一題 數字填充
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
四川大學線下程式設計比賽第一題 數字填充
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
四川大學線下程式設計比賽第一題 數字填充
peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資料量在10...