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]<<" ";
		}
	}
}

复杂度比较高。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务