当前位置 : 主页 > 网络编程 > 其它编程 >

CCF计算机职业资格认证考试2014122Z字形扫描试题及答案

来源:互联网 收集:自由互联 发布时间:2023-07-02
试题编号201412-2试题名称Z字形扫描时间限制2.0s内存限制256.0MB问题描述问题描述 试题编号201412-2试题名称Z字形扫描时间限制2.0s内存限制256.0MB问题描述 问题描述 在图像编码的算法中需要
试题编号201412-2试题名称Z字形扫描时间限制2.0s内存限制256.0MB问题描述问题描述 试题编号201412-2试题名称Z字形扫描时间限制2.0s内存限制256.0MB问题描述

问题描述

  在图像编码的算法中需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵Z字形扫描的过程如下图所示   对于下面的4×4的矩阵   1 5 3 9   3 7 5 6   9 4 6 4   7 3 1 3   对其进行Z字形扫描后得到长度为16的序列   1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3   请实现一个Z字形扫描的程序给定一个n×n的矩阵输出对这个矩阵进行Z字形扫描的结果。

输入格式

  输入的第一行包含一个整数n表示矩阵的大小。   输入的第二行到第n1行每行包含n个正整数由空格分隔表示给定的矩阵。

输出格式

  输出一行包含n×n个整数由空格分隔表示输入的矩阵经过Z字形扫描后的结果。

样例输入

4 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3

样例输出

1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3

评测用例规模与约定

  1≤n≤500矩阵元素为不超过1000的正整数。

以下为楼主的参考答案

#include int a[510][510]{{0}};int main(){int n,x1,y1,flag1;scanf("%d",for(int i1;i0){y;printf(" %d",a[x][y]);--num;if(a[x1][y-1]>0){x;y--;printf(" %d",a[x][y]);--num;flag2;}else{if(a[x-1][y1]>0){x--;y;printf(" %d",a[x][y]);--num;flag4;}}}else flag3;}if(flag2 0){if(a[x1][y-1]>0){x;y--;printf(" %d",a[x][y]);--num;}else flag3;}if(flag3 0){if(a[x1][y]>0){x;printf(" %d",a[x][y]);--num;if(a[x1][y-1]>0){x;y--;printf(" %d",a[x][y]);--num;flag2;}else{if(a[x-1][y1]>0){x--;y;printf(" %d",a[x][y]);--num;flag4;}}}else flag1;}if(flag4 0){if(a[x-1][y1]>0){x--;y;printf(" %d",a[x][y]);--num;}else flag1;}}return 0;}

 

【文章转自 盐城网页制作公司 http://www.1234xp.com/yancheng.html 处的文章,转载请说明出处】
上一篇:深入浅出mysql_深入浅出mysql索引
下一篇:没有了
网友评论