问题描述:

试题编号: 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,表示矩阵的大小。
  输入的第二行到第n+1行每行包含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 <iostream>
using namespace std;
const int EAST = 0;
const int SOUTH = 1;
const int SOUTHWEST = 2;
const int NORTHEAST = 3;
struct {int drow;int dcol;
} direct[] = {{0, 1}, {1, 0}, {1, -1}, {-1, 1}};
const int N = 500;
int a[N][N];
int main(){int n;// 输入数据cin >> n;for(int i=0; i<n; i++)for(int j=0; j<n; j++)cin >> a[i][j];// Z字形扫描,输出结果int row=0, col=0, next=EAST;cout << a[row][col];while(row != n - 1 || col != n - 1) {row += direct[next].drow;col += direct[next].dcol;cout << " " << a[row][col];if(next == EAST && row == 0)next = SOUTHWEST;else if(next == EAST && row == n - 1)next = NORTHEAST;else if(next == SOUTH && col == 0)next = NORTHEAST;else if(next == SOUTH && col == n - 1)next = SOUTHWEST;else if(next == SOUTHWEST && row == n - 1)next = EAST;else if(next == SOUTHWEST && col == 0)next = SOUTH;else if(next == NORTHEAST && col == n - 1)next = SOUTH;else if(next == NORTHEAST && row == 0)next = EAST;}cout << endl;return 0;
}

CCF201412-2 Z字形扫描相关推荐

  1. CCF201412-2 Z字形扫描(解法二)(100分)

    试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag ...

  2. CCF201412-2 Z字形扫描(解法二)(100分)【废除!!!】

    试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag ...

  3. CCF201412-2 Z字形扫描(100分)

    试题编号: 201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag ...

  4. ccf Z字形扫描

    201412-2 试题名称: Z字形扫描 时间限制: 2.0s 内存限制: 256.0MB 问题描述: 问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan). ...

  5. ccf z字形 java_第三次CCF计算机软件能力认证题目:Z字形扫描

    这是第三次CCF计算机软件能力认证考试(2014年12月14日)的一道题目.小编今天有幸免费参加了这次考试.据说这题是谷歌的笔试题变形??求证实.. 好了,题外话不啰嗦,看题目 题目 在图像编码的算法 ...

  6. 面试题整理19 矩阵Z字形扫描

    题目: 矩阵Z字形扫描 对于任意一个m*n的矩阵A,规定从左上角(0,0)开始,按照距离左上角(0,0)先近后远的顺序进行Z字形扫描,最终到达右下角(m-1,n-1)的位置. 请实现一个函数,输入参数 ...

  7. AcWing 3208. Z字形扫描

    在图像编码的算法中,需要将一个给定的方形矩阵进行 Z 字形扫描(Zigzag Scan). 给定一个 n×n 的矩阵,Z 字形扫描的过程如下图所示: 对于下面的 4×4 的矩阵, 1 5 3 9 3 ...

  8. CCF 201412-2 Z字形扫描

    问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan).给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 ...

  9. CCF201412-2 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 请 ...

最新文章

  1. 2018年视频云服务市场格局进入整合阶段,阿里云视频云位居市场竞争力领导者的位置...
  2. 基于MINA框架快速开发网络应用程序
  3. 洛谷 P1101 单词方阵
  4. oracle常用的字符和字符串处理类函数
  5. 西门子数控面板图解_学好四要点让你迅速成为数控机床“操作高手”
  6. xcode 4.2开发 ——navigation controller 添加按钮
  7. 关于解决 从相册中选择照片后无法剪切图片以及无法加载图片的问题
  8. 群辉发布RackStation系列机型——RS3621RPxs、RS3621xs+与RS4021xs+
  9. Oracle的启动和关闭
  10. jquery第三期:js与jquery对象转换
  11. latex 调整表格的行高_latex 表格如何控制行高,行距,行与行之间的距离
  12. STM 贴片机流程记录
  13. linux的定时器的使用,linux定时器如何使用方法
  14. parallels desktop 网络初始化失败_升级Big Sur后Parallels虚拟机无法联网解决方法
  15. 我们计划为EasyDSS定制开发一款超低延时的EasyPlayer Flash播放器
  16. 鼓式制动系统行业研究及十四五规划分析报告
  17. xwiki功能-皮肤
  18. Xss-reflected/stored跨站脚本分析(Cross site scripting)
  19. BeautifulSoup爬取贝壳网成都二手房源信息(附:完整源代码)
  20. stable diffusion AI绘画作品展

热门文章

  1. 敏捷结果:项目开发中的一些想法和疑问
  2. pll制作分频器_PLL学习过程记录
  3. HTML cite元素
  4. Bootstrap 标签导航的布局
  5. Bootstrap 流式栅格系统
  6. 手动抛出异常_(七)异常处理
  7. editor编辑器为什么头部信息会不见_简单聊一聊一个前端编辑器的性能优化
  8. ROS笔记(10) TF坐标
  9. TensorFlow笔记(9) ResNet
  10. mysql主键自增为什么在插入的时候还要自己写主键值_数据库主键自增插入显示值...