CCF 2014122Z字形扫描试题答案是什么?

2026-04-01 23:081阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计537个文字,预计阅读时间需要3分钟。

CCF 2014122Z字形扫描试题答案是什么?

题目编号:201412-2

题目名称:Z字形扫描

时间限制:2.0秒

内存限制:256.0MB

问题描述:

在图像编码算法中,需要实现Z字形扫描算法。请编写程序实现以下功能:

1. 对给定的图像进行Z字形扫描;

2.输出扫描结果。

试题编号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

CCF 2014122Z字形扫描试题答案是什么?

样例输出

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

 

本文共计537个文字,预计阅读时间需要3分钟。

CCF 2014122Z字形扫描试题答案是什么?

题目编号:201412-2

题目名称:Z字形扫描

时间限制:2.0秒

内存限制:256.0MB

问题描述:

在图像编码算法中,需要实现Z字形扫描算法。请编写程序实现以下功能:

1. 对给定的图像进行Z字形扫描;

2.输出扫描结果。

试题编号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

CCF 2014122Z字形扫描试题答案是什么?

样例输出

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