AcWing 3208. Z字形扫描
原题链接
简单
作者:
苍茫得胖帅
,
2021-03-11 17:56:21
,
所有人可见
,
阅读 281
C++ 代码
#include <iostream>
#include <stdio.h>
#define MAX 501
using namespace std;
int main()
{
int n,i,j;
cin >> n;
int a[MAX][MAX];
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
{
scanf("%d",&a[i][j]);//读入数据大于10万时最好使用scanf
}
}//读入矩阵
for (i = 1; i <= n * 2 - 1; i++)
{
j = i;
if (!(i % 2) )//偶数斜列,自上而下扫描
{
while (j >= 1)
{
if(i+1-j<=n&&j<=n)//排除不在矩阵内的情况
cout << a[i + 1 - j][j] << ' ';
j--;
}
}
else //奇数斜列,自下而上扫描
{
while (j>= 1)//先比较在自减
{
if(i+1-j<=n&&j<=n)
cout << a[j][i + 1 - j] << ' ';
j--;
}
}
}
return 0;
}