CSP题解|201412-2 Z字形扫描|100分
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;cin>>n;
int arr[n][n];
for(int i =0;i<n;i++)
for(int j =0;j<n;j++)
cin>>arr[i][j];
int i =0,j=0;
bool flag = true;
for(int k =0;k<=2*(n-1);k++){
if(flag){
flag = false;
//从左下往右上(逐列输出)
for(int i=0;i<n;i++)
for(int j =0;j<n;j++)
if(i+j==k)cout<<arr[j][i]<<" ";
}else{
flag = true;
//从右上往左下 (逐行输出)
for(int i=0;i<n;i++)
for(int j =0;j<n;j++)
if(i+j==k)cout<<arr[i][j]<<" ";
}
}
}
复杂度比较高。