本文主要是介绍[CCF] 201412-2 Z字形扫描 Apare_xzc,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[CCF] 201412-2 Z字形扫描
题面:
直接模拟即可
我的代码
#include<bits/stdc++.h>
using namespace std;
int a[520][520],n;
void solve()
{int x=1,y=1;printf("%d",a[x][y]);while(1){if(x==1&&y==1){if(n==1) break;else{printf(" %d",a[x][++y]);while(x<n&&y>1){printf(" %d",a[++x][--y]);}continue;}}if(x==n&&y==n) break;if(x==1) //到了第一排 {if(y==n){if(x<n) printf(" %d",a[++x][y]);while(x<n&&y>1){printf(" %d",a[++x][--y]);}}else{printf(" %d",a[x][++y]);while(x<n&&y>1){printf(" %d",a[++x][--y]);}}continue;}else if(x==n) //到了最后一排 {printf(" %d",a[x][++y]);while(x>1&&y<n){printf(" %d",a[--x][++y]);}}else if(y==1) //到了第一列 {if(x<n) printf(" %d",a[++x][y]);while(x>1&&y<n){printf(" %d",a[--x][++y]);}}else if(y==n) //到了最后一列 {if(x<n) printf(" %d",a[++x][y]);while(x<n&&y>1){printf(" %d",a[++x][--y]);}}}puts("");
}
int main()
{cin>>n;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)scanf("%d",&a[i][j]);solve();return 0;
}
这篇关于[CCF] 201412-2 Z字形扫描 Apare_xzc的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!