AcWing 754. 平方矩阵 II
原题链接
简单
作者:
xiao9di
,
2021-01-21 12:14:09
,
所有人可见
,
阅读 298
两种算法复杂度一样。第一种算法是每日一题活动里新打的。 似乎更简洁一点, 主要是看样例, 找规律!
d[i][j]=abs(i - j) + 1; //亮点***
算法1
#include<bits/stdc++.h>
using namespace std;
int d[105][105], n;
int main()
{
while(cin >> n, n)
{
memset(d, 0, sizeof d);
for(int i = 1; i <= n; i++)
for(int j = 1; j <=n; j++)
d[i][j]=abs(i - j) + 1;
for(int i = 1; i <= n; i ++)
{
for(int j = 1; j <= n; j ++)
cout << d[i][j] << ' ';
cout << endl;
}
cout << endl;
}
return 0;
}
算法2
#include<iostream>
using namespace std;
int a[102][102];
int main()
{
int n;
while(cin>>n,n)
{
for(int i=0; i<n; i++)
{
a[i][i]=1;
for(int j=i+1; j<n; j++)
a[i][j]=a[j][i]=a[i][j-1]+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;
}