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]<<" "; } } }
复杂度比较高。