基础练习 回形取数
2016-03-22 16:52
281 查看
基础练习 回形取数
时间限制:1.0s 内存限制:512.0MB
问题描述
回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。
输入格式
输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。
输出格式
输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。
样例输入
3 3
1 2 3
4 5 6
7 8 9
样例输出
1 4 7 8 9 6 3 2 5
样例输入
3 2
1 2
3 4
5 6
样例输出
1 3 5 6 4 2
----------
超时了。。。
附上一组测试数据 https://yunpan.cn/cY4JzEqmTSWvA 访问密码 9718
-----------------
--------------
C语言通过
---------------
时间限制:1.0s 内存限制:512.0MB
问题描述
回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。
输入格式
输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。
输出格式
输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。
样例输入
3 3
1 2 3
4 5 6
7 8 9
样例输出
1 4 7 8 9 6 3 2 5
样例输入
3 2
1 2
3 4
5 6
样例输出
1 3 5 6 4 2
----------
超时了。。。
附上一组测试数据 https://yunpan.cn/cY4JzEqmTSWvA 访问密码 9718
-----------------
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input=new Scanner(System.in); int m=input.nextInt(),n=input.nextInt(); int arr[][]=new int[m] ; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ arr[i][j]=input.nextInt(); } } int i=0,j=0; for (i = 0; i < (n + 1) / 2 && i < (m + 1) / 2; i++) { for (j = i; j < m - i; j++) System.out.print(arr[j][i]+" "); for (j = i + 1; j < n - i; j++) System.out.print(arr[m - i - 1][j]+" "); if (n - i - 1 > i) for (j = m - i - 2; j >= i; j--) System.out.print( arr[j][n - i - 1]+" "); if (m - i - 1 > i) for (j = n - i - 2; j > i; j--) System.out.print( arr[i][j]+" "); } } }
--------------
C语言通过
---------------
#include <stdio.h> int main() { int m,n,i,j; int arr[210][210]; scanf("%d%d",&m,&n); for(i = 0; i < m; i++) for(j = 0; j < n; j++) scanf("%d",&arr[i][j]); for(i = 0; i < (m+1)/2 && i < (n+1)/2; i++) { for(j = i; j < m-i; j++) printf("%d ",arr[j][i]); for(j = i+1; j < n-i; j++ ) printf("%d ",arr[m-i-1][j]); if(n-i-1 > i) { for(j = m-i-2; j >= i; j--) printf("%d ",arr[j][n-i-1]); } if (m-i-1 > i) { for(j = n-i-2; j > i; j--) printf("%d ",arr[i][j]); } } return 0; }
相关文章推荐
- 新浪授权认证(不用SDK)
- intel simd 资料
- 单点登录/数字证书
- ketlle中调用User Defined Java Class插件链接数据库并操作
- JS实现在输入框内输入@时,邮箱账号自动补全
- 计算机网络 数据链路层
- oracle游标的使用
- Linux下命令符操作(一)
- ImageNet Classification with Deep Convolutional Neural Networks泛读总结
- c语言学习之位运算知识总结和实例分析
- mybatis如何根据mapper接口生成其实现类
- c/c++变量交换
- 基于Springmvc支付宝接口
- 《Linux内核设计与实现》学习总结 Chap5
- 4.黑洞数
- linux --> 系统信息命令
- jquery导航二级栏目下拉
- CSS学习
- 深入理解C指针学习笔记(二)
- Android API 等级与Android版本对应关系