AcWing 753. 平方矩阵 I C++ 好理解
原题链接
困难
作者:
writer
,
2020-03-18 00:47:04
,
所有人可见
,
阅读 2072
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n;
while(cin >> n, n)
{
double midV = (n + 1) / 2.0; //中心点的值(偶数的带小数点)
double midIndex; // 中心点坐标
if(n % 2) midIndex = n / 2; //奇数坐标
else midIndex = (n - 1) / 2.0; // 偶数的坐标保留小数
for(int i = 0; i < (n * n); i ++)
{
// 中间值减去横纵坐标距离(坐标减) i / n为纵坐标, i % n为横坐标
cout << int(midV - max(abs(i / n - midIndex), abs(i % n - midIndex)));
//判断是否换行
if((i + 1) % n == 0) cout << endl;
else cout << " ";
}
cout << endl;
}
return 0;
}
可以啊,就把我第一条评论给了/xl