AcWing 753. 平方矩阵 I
原题链接
困难
作者:
牛奶小柒Luke
,
2021-02-09 21:54:07
,
所有人可见
,
阅读 199
对称矩阵
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int a[N][N];
int main(){
int n;
while(cin >> n,n){
for(int i = 0;i < n;++i){
for(int j = i;j < n - i;++j){
a[j][i] = a[i][j] = i + 1;
a[j][n - i - 1] = a[n - i - 1][j] = i + 1;
}
}
for(int i = 0;i < n;++i){
for(int j = 0;j < n;++j){
cout << a[i][j] << ' ';
}
cout << endl;
}
cout << endl;
}
return 0;
}
判断中间数
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int a[N][N];
int main(){
int n;
while(cin >> n,n){
for(int i = 0;i < n;++i){
for(int j = 0;j < n;++j){
if(n & 1 == 0) a[i][j] = (n + 1) / 2 - max(abs(i - n / 2),abs(j - n / 2));
else a[i][j] = (n - 1) / 2.0 - max(abs(i - (n - 1) / 2.0),abs(j - (n - 1) / 2.0)) + 1;
}
}
for(int i = 0;i < n;++i){
for(int j = 0;j < n;++j){
cout << a[i][j] << ' ';
}
cout << endl;
}
cout << endl;
}
return 0;
}
找关系
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 110;
int a[N][N];
int main(){
int n;
while(cin >> n,n){
for(int i = 1;i <= n;++i){
for(int j = 1;j <= n;++j){
cout << min(min(i,j),min(n - i + 1,n - j + 1)) << ' ';
}
cout << endl;
}
cout << endl;
}
return 0;
}