goj 蛇形矩陣


Problem Description:

蛇形矩陣是由1開始的自然數依次排列成的一個矩陣上三角形。

Input:

本題有多組數據,每組數據由一個正整數N組成。(N不大於100)

Output:

對於每一組數據,輸出一個N行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用一個空格分開。行尾不要多余的空格。

Sample Input:

5

Sample Output:

1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
解題思路:找規律題,先打表,再直接輸出。
舉個栗子:當n=3時,矩陣坐標如下:
(0,0),(0,1),(0,2)
(1,0),(1,1)
(2,0)
通過上面的舉例,我們可以發現,同一顏色從左往右看,橫坐標是降序,縱坐標是升序,結合樣例可知,給其一個計數器,從行開始,依次遍歷,公式為snake[i-j][j]=num++,水過。
AC代碼:
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,num=1,snake[101][101];
 6     memset(snake,0,sizeof(snake));
 7     for(int i=0;i<101;++i)
 8         for(int j=0;j<=i;++j)
 9             snake[i-j][j]=num++;
10     while(cin>>n){
11         for(int i=0;i<n;++i){
12             for(int j=0;j<n-i;++j){
13                 cout<<snake[i][j];
14                 if(j!=n-i-1)cout<<' ';
15                 else cout<<endl;
16             }
17         }
18     }
19     return 0;
20 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM