#include<bits/stdc++.h>
using namespace std;
const int N=5e2+2;
int a[N][N];
int n;
void solution(int& i,int& j,int& t,bool& flag)
{
t++;
if(i<j)
{
for(int x=i,y=j;x<=j;++x,--y)
cout<<a[x][y]<<" ";
}
else
{
for(int x=i,y=j;x>=j;--x,++y)
cout<<a[x][y]<<" ";
}
if(t==n)
{
if(n%2==0)
{
swap(i,j);
j++;
flag=1;
}
else
{
swap(i,j);
i++;
flag=0;
}
return;
}
if(flag==0)
{
swap(i,j);
j++;
flag=1;
}
else
{
swap(i,j);
i++;
flag=0;
}
}
int main()
{
cin>>n;
for(int i=1;i<=n;++i)
for(int j=1;j<=n;++j)
cin>>a[i][j];
if(n==1)
{
cout<<a[1][1]<<endl;return 0;
}
int i=1,j=2;
bool flag=1;
int t=1;
cout<<a[1][1]<<" ";
while(i!=n||j!=n)
{
solution(i,j,t,flag);
}
cout<<a[n][n]<<" ";
return 0;
}
cspZ字形扫描
最新推荐文章于 2023-12-28 18:21:20 发布