UVa 11360 - Have Fun with Matrices
2016-06-08 11:38
1096 查看
題目:已知一個矩陣,在矩陣中做一些操作(轉置、交換行、交換列,整體自增或自減)輸出結果。
分析:模擬。直接模擬輸出即可。
說明:╮(╯▽╰)╭。
分析:模擬。直接模擬輸出即可。
說明:╮(╯▽╰)╭。
#include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cmath> using namespace std; char matrix[10][11]; char operation[11]; int main() { int T, N, M, parameter1, parameter2; while (~scanf("%d",&T)) for (int t = 1; t <= T; ++ t) { scanf("%d",&N); for (int i = 1; i <= N; ++ i) { scanf("%s",&matrix[i][1]); } scanf("%d",&M); for (int o = 1; o <= M; ++ o) { scanf("%s",operation); if (!strcmp(operation, "transpose")) { for (int i = 1; i <= N; ++ i) { for (int j = 1; j < i; ++ j) { swap(matrix[i][j], matrix[j][i]); } } }else if (!strcmp(operation, "inc")) { for (int i = 1; i <= N; ++ i) { for (int j = 1; j <= N; ++ j) { matrix[i][j] ++; if (matrix[i][j] > '9') { matrix[i][j] = '0'; } } } }else if (!strcmp(operation, "dec")) { for (int i = 1; i <= N; ++ i) { for (int j = 1; j <= N; ++ j) { matrix[i][j] --; if (matrix[i][j] < '0') { matrix[i][j] = '9'; } } } }else if (!strcmp(operation, "row")) { scanf("%d%d",¶meter1,¶meter2); for (int i = 1; i <= N; ++ i) { swap(matrix[parameter1][i], matrix[parameter2][i]); } }else if (!strcmp(operation, "col")) { scanf("%d%d",¶meter1,¶meter2); for (int i = 1; i <= N; ++ i) { swap(matrix[i][parameter1], matrix[i][parameter2]); } } } printf("Case #%d\n",t); for (int i = 1; i <= N; ++ i) { puts(&matrix[i][1]); } puts(""); } return 0; }
相关文章推荐
- centOS6搭建lnmp环境
- Collections sort 实体类排序
- 2.URL
- centOS6搭建lnmp环境
- iOS中iconfont(图标字体)的基本使用
- Socket简介
- Linux网络流量监控与分析工具Ntopng
- Python爬虫实战(2):爬取京东商品列表
- 26. Remove Duplicates from Sorted Array
- React + Redux
- 怎么用EDIUS将静帧图片做出动态特效
- Android之SurfaceView学习(一)
- oracle ORA-28000: the account is locked
- Linux Shell系列教程之(八)Shell printf命令详解
- C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁
- Linux 设备驱动--- 内核等待队列
- JAVA中批量插入数据
- 带您认识不一样的Cognos
- plsql安装--无需安装oracle客户端
- WIN10下阿里WEEX环境搭建