题目描述
景驰公司自成立伊始,公司便将“推动智能交通的发展,让人类的出行更安全,更高效,更经济,更舒适”作为公司使命,通过产业融合、建设智能汽车出行行业的方式,打造“利国、利民、利公司、利个人”的无人驾驶出行系统。公司的愿景是成为中国第一、世界一流的智能出行公司。
有一天,景驰公司的工程师在真车上做测试。 景驰公司的试验车上面有一个奇怪的图案,这是一个n*m的矩阵,这辆车可以到处开,每次可以左旋右旋,小明想知道转完之后的图案是怎么样的
具体来说:有一个n*m的字符矩阵,只包含3种字符(‘+’‘-’,‘|’),通过一通乱旋之后变成什么样子?
输入描述:
第一行测试样例数T(0<T<=100) 每个测试样例第一行两个正整数n,m(0<n,m<=30) 接下来的n行是一个n*m的字符矩阵 字符矩阵之后是一串只包含‘L’(左旋)和‘R’(右旋)的字符串,长度不超过1000 每个样例间输出一个空行
输出描述:
第一行两个正整数n,m 接下来的n行是一个n*m的字符矩阵 每个样例后面输出一个空行
示例1
输入
2 2 3 +-+ |+| LLRRR 3 2 -+ +| -+ LLL
输出
3 2 -+ +| -+ 2 3 |+| +-+
备注:
左旋即逆时针旋转,右旋即顺时针旋转 -通过一次左旋或右旋会变成| |通过一次左旋或右旋会变成-
方法:旋转后有四种类型,将每种类型都列出来
#include <stdio.h> #include <math.h> #include <iostream> using namespace std; int main() { char ch[50][50] , wq[50][50]; int n, m , T; scanf ( "%d" , &T); while (T--) { string s; int ans = 0 ; int a = 0 , b = -1; scanf ( "%d %d" , &n , &m); for ( int i = 0 ; i < n ; i++) { b++; for ( int j = 0 ; j < m ; j++) { cin >> ch[i][j]; wq[a][b] = ch[i][j]; a++; } a = 0; } cin >> s; for ( int i = 0 ; i < s.length() ; i++) { if (s[i] == 'L' ) { ans--; } else if (s[i] == 'R' ) { ans++; } } if (ans < 0) { ans+=400; ans = ans %4; } else { ans = ans%4; } ans = ans + '0' ; // printf("ans = %c\n" , ans); //cin >> ans; //ans += '0'; switch (ans) { case '0' : printf ( "%d %d\n" , n , m); for ( int i = 0 ; i < n ; i++) { for ( int j = 0 ; j < m ; j++) { cout << ch[i][j]; } cout << endl; } break ; case '1' : printf ( "%d %d\n" , m , n); for ( int i = 0 ; i < m; i++) { for ( int j = n-1 ; j >= 0; j--) { if (wq[i][j] == '|' ) { wq[i][j] = '-' ; } else if (wq[i][j] == '-' ) { wq[i][j] = '|' ; } cout << wq[i][j]; } cout << endl; } break ; case '2' : printf ( "%d %d\n" , n , m); for ( int i = n-1 ; i >= 0 ; i--) { for ( int j = m - 1 ; j >= 0; j--) { cout << ch[i][j]; } cout << endl; } break ; case '3' : printf ( "%d %d\n" , m , n); for ( int i = m-1 ; i >= 0; i--) { for ( int j = 0 ; j < n; j++) { if (wq[i][j] == '|' ) { wq[i][j] = '-' ; } else if (wq[i][j] == '-' ) { wq[i][j] = '|' ; } cout << wq[i][j]; } cout << endl; } } cout << endl; } return 0 ; } 
京公网安备 11010502036488号