九度oj:对矩阵任意子方阵进行多种翻转操作
来源:互联网 发布:json字符串转为map 编辑:程序博客网 时间:2024/05/22 17:36
/*题目描述:首先输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。操作类型有四种:1 2 表示:90度,顺时针,翻转4个数1 3 表示:90度,顺时针,翻转9个数2 2 表示:90度,逆时针,翻转4个数2 3 表示:90度,逆时针,翻转9个数输入:输入有多组数据。每组输入一个5 * 5的数组,然后输入一行,这一行有四个数,前两个代表操作类型,后两个数x y代表需操作数据为以x y为左上角的那几个数据。输出:输出翻转后的数组。样例输入:1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 2526 27 28 29 3031 32 33 34 351 3 1 1样例输出:11 6 1 4 512 7 2 9 1013 8 3 14 1516 17 18 19 2021 22 23 24 25*/#include <iostream>#include <stdio.h>using namespace std;int main(){ int num[5][5]; while(scanf("%d",&num[0][0])!=-1) { int temp[3][3]; for(int i=0;i<5;i++) for(int j=0;j<5;j++) { if(i==0&&j==0) continue; else cin>>num[i][j]; } int num1,num2,x,y; cin>>num1>>num2>>x>>y; if(num1==1&&num2==2) { for(int i=0;i<2;i++) for(int j=1;j>=0;j--) temp[i][j]=num[x-j][y+i-1]; for(int i=0;i<2;i++) for(int j=0;j<2;j++) num[x+i-1][y+j-1]=temp[i][j]; } if(num1==1&&num2==3) { for(int i=0;i<3;i++) for(int j=2;j>=0;j--) temp[i][j]=num[x-j+1][y+i-1]; for(int i=0;i<3;i++) for(int j=0;j<3;j++) num[x+i-1][y+j-1]=temp[i][j]; } if(num1==2&&num2==2) { for(int i=0;i<2;i++) for(int j=0;j<2;j++) temp[i][j]=num[x+j-1][y-i]; for(int i=0;i<2;i++) for(int j=0;j<2;j++) num[x+i-1][y+j-1]=temp[i][j]; } if(num1==2&&num2==3) { for(int j=0;j<3;j++) for(int i=0;i<3;i++) temp[i][j]=num[x+j-1][y-i+1]; for(int i=0;i<3;i++) for(int j=0;j<3;j++) num[x+i-1][y+j-1]=temp[i][j]; } for(int i=0;i<5;i++) for(int j=0;j<5;j++) { if(j==4) cout<<num[i][j]<<endl; else cout<<num[i][j]<<" "; } } return 0;}
阅读全文
0 0
- 九度oj:对矩阵任意子方阵进行多种翻转操作
- 九度OJ调整方阵
- 九度OJ 1139 最大子矩阵
- 九度OJ 1139 最大子矩阵
- 九度OJ 1171:C翻转 (矩阵计算)
- 九度OJ 题目1470:调整方阵
- 九度oj 题目1470:调整方阵
- 九度OJ 1470 调整方阵
- 九度OJ 1470 调整方阵
- 九度OJ-1470:调整方阵
- 九度OJ 1102 最小面积子矩阵
- 九度OJ; 题目1139:最大子矩阵
- 九度OJ 题目1139:最大子矩阵
- 九度OJ 1102 最小面积子矩阵
- 九度OJ 题目1171:C翻转
- 九度OJ 1361 翻转单词顺序
- 九度 oj 题目1171:C翻转
- 九度OJ 1139:最大子矩阵 (矩阵运算、缓存)
- Android Binder 机制初步学习 笔记(三)—— Binder 进程通讯库简介
- 量化分析(5)——Python应用tushare数据计算单资产CAPM实例
- 接口测试之postman
- 计算机视觉
- 调用Weka API和使用GUI进行分类时,输出结果相反的原因及解决方法
- 九度oj:对矩阵任意子方阵进行多种翻转操作
- 只要三句话就可以实现不定宽高水平垂直居中。
- Console 模式与Windows模式互换
- oracle 中 cursor 与refcursor及sys_refcursor的区别
- sed用法
- AndroidStudio重命名包名
- eclipse启动报.metadata\.log问题
- list和set
- 常用正则表达式