AcWing 754. 平方矩阵 II
原题链接
简单
作者:
尼古拉斯小布丁
,
2021-03-23 19:53:13
,
所有人可见
,
阅读 213
算法1、找规律,将数按照对角线填入矩阵中,具体看代码
#include<iostream>
using namespace std;
const int N=100;
int n;
int martix[N][N];
int main(){
while(cin>>n && n){
for(int i=0;i<n;i++){
for(int j=i, k=1;j<n;j++,k++){
martix[i][j]=martix[j][i]=k;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<martix[i][j]<<" ";
}
cout<<endl;
}
cout<<endl;
}
return 0;
}
算法2
按行找规律,对角线前是逐个减小,对角线后是逐个增大
#include <iostream>
using namespace std;
int n;
int main(){
while(cin>>n && n){
for(int i=1;i<=n;i++){
for(int j=i;j>=1;j--) cout<<j<<" "; //输出对角线左边和对角线
for(int j=i+1;j<=n;j++) cout<<j-i+1<<" "; //输出对角线右边
cout<<endl;
}
cout<<endl;
}
return 0;
}