题目描述

景驰公司自成立伊始,公司便将“推动智能交通的发展,让人类的出行更安全,更高效,更经济,更舒适”作为公司使命,通过产业融合、建设智能汽车出行行业的方式,打造“利国、利民、利公司、利个人”的无人驾驶出行系统。公司的愿景是成为中国第一、世界一流的智能出行公司。

有一天,景驰公司的工程师在真车上做测试。
景驰公司的试验车上面有一个奇怪的图案,这是一个n*m的矩阵,这辆车可以到处开,每次可以左旋右旋,小明想知道转完之后的图案是怎么样的
具体来说:有一个n*m的字符矩阵,只包含3种字符(‘+’‘-’,‘|’),通过一通乱旋之后变成什么样子? 输入描述:
第一行测试样例数T(0

输出描述:

第一行两个正整数n,m 接下来的n行是一个n*m的字符矩阵
每个样例后面输出一个空行

输入

2
2 3
+-+
|+|
LLRRR3 2
-+
+|
-+
LLL

输出

3 2
-+
+|
-+2 3
|+|
+-+

备注: 左旋即逆时针旋转,右旋即顺时针旋转
-通过一次左旋或右旋会变成| |通过一次左旋或右旋会变成-

思路

先计算出L和R的数量,然后通过互相减的方式可以把问题简化成向左转一次或者两次或者三次,然后直接模拟就好了。注意细节。

代码

#include <cstdio>
#include <cstring>
#include <cctype>
#include <stdlib.h>
#include <string>
#include <map>
#include <iostream>
#include <stack>
#include <cmath>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
#define inf 1000000
#define mem(a,b) memset(a,b,sizeof(a))
const int N=30+7;
char s[N][N];
char str[1010];
int main()
{int t,n,m;scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);for(int i=0; i<n; i++)scanf("%s",s[i]);scanf("%s",str);int len=strlen(str);int sum1=0,sum2=0;for(int i=0; i<len; i++)if(str[i]=='L')sum1++;elsesum2++;if(sum1==sum2){printf("%d %d\n",n,m);for(int i=0; i<n; i++)printf("%s\n",s[i]);}else if(sum1>sum2)//左{sum1-=sum2;sum1%=4;if(sum1==0){printf("%d %d\n",n,m);for(int i=0; i<n; i++)printf("%s\n",s[i]);}else if(sum1==2){printf("%d %d\n",n,m);for(int i=n-1; i>=0; i--){for(int j=m-1; j>=0; j--)printf("%c",s[i][j]);puts("");}}else if(sum1==3){printf("%d %d\n",m,n);for(int i=0; i<m; i++){for(int j=n-1; j>=0; j--){if(s[j][i]=='-')cout<<"|";else if(s[j][i]=='|')cout<<"-";elsecout<<s[j][i];}cout<<endl;}}else if(sum1==1){printf("%d %d\n",m,n);for(int i=m-1; i>=0; i--){for(int j=0; j<n; j++){if(s[j][i]=='-')cout<<"|";else if(s[j][i]=='|')cout<<"-";elsecout<<s[j][i];}cout<<endl;}}}else{sum2-=sum1;//右sum2%=4;if(sum2==0){printf("%d %d\n",n,m);for(int i=0; i<n; i++)printf("%s\n",s[i]);}else if(sum2==2){printf("%d %d\n",n,m);for(int i=n-1; i>=0; i--){for(int j=m-1; j>=0; j--)printf("%c",s[i][j]);puts("");}}else if(sum2==3){printf("%d %d\n",m,n);for(int i=m-1; i>=0; i--){for(int j=0; j<n; j++){if(s[j][i]=='-')cout<<"|";else if(s[j][i]=='|')cout<<"-";elsecout<<s[j][i];}cout<<endl;}}else if(sum2==1){printf("%d %d\n",m,n);for(int i=0; i<m; i++){for(int j=n-1; j>=0; j--){if(s[j][i]=='-')cout<<"|";else if(s[j][i]=='|')cout<<"-";elsecout<<s[j][i];}cout<<endl;}}}printf("\n");}return 0;
}

第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G 旋转矩阵(模拟)相关推荐

  1. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G 旋转矩阵 【模拟】

    链接:https://www.nowcoder.com/acm/contest/90/G 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  2. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K-密码 链接:https://www.nowcoder.com/acm/contest/90/K 来源:牛客网 题目描述 ZiZi登录各种账号的 ...

  3. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题 链接:https://www.nowcoder.com/acm/contest/90/I 来源:牛客网 题目描述 牛客网是是一个专注于 ...

  4. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛

    拖了好久了 链接:https://www.nowcoder.com/acm/contest/90/A 来源:牛客网 跳台阶 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K ...

  5. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 个人笔记 题解

    题目链接:https://ac.nowcoder.com/acm/contest/90#question A.跳台阶 链接:https://ac.nowcoder.com/acm/contest/90 ...

  6. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 L-回旋星空

    链接:https://www.nowcoder.com/acm/contest/90/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语言2621 ...

  7. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--L-用来作弊的药水

    链接:https://www.nowcoder.com/acm/contest/90/L 来源:牛客网 1.题目描述 -- 在一个风雨交加的夜晚,来自异世界的不愿透露姓名的TMK同学获得了两种超强药水 ...

  8. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 D-psd面试

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 掌握未来命运的女神 psd 师兄在拿了朝田诗乃 ...

  9. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 G-旋转矩阵

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 景驰公司自成立伊始,公司便将"推动智 ...

最新文章

  1. 无线密码离线破解工具Pyrit常用命令集合大学霸IT达人
  2. 如何用 React Native 创建一个iOS APP?(二)
  3. TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义
  4. python练习---购物车
  5. 【原创】SharePoint中如何判断任务是否已经延期
  6. jQuery实现多个MP3音频播放
  7. 自己的本事比领导大,对自己有利还是有弊?
  8. 简单的eda实验vga在linux系统中,《EDA实验报告VGA彩条显示.doc
  9. Shell脚本学习-阶段六-密钥的批量分发与执行
  10. IncDec Sequence(差分)
  11. 用酷狗播放音乐时,会显示在msn的头像旁边
  12. java Math.random()
  13. 【小说】MR设备普及后的生活
  14. okhttp https ip直连设置Host
  15. Java多线程:Executors
  16. 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景
  17. Excel里关于if的9个函数,如何指定条件求和、计数、平均等
  18. HTML5矢量图形SVG
  19. python之信贷风险数据分析及逻辑回归预测,sklearn特征工程
  20. 七个鲜为人知的搜索网站_19个鲜为人知的编程神话

热门文章

  1. html轮播图点击图片放大,jq点击图片 放大轮播
  2. LSVGlobal Mapper应用----影像裁剪
  3. JQuery $(function(){})和$(document).ready(function(){})
  4. 大数据Python基础学习——练习(二)
  5. Ubuntu18.04 笔记本合上盖子时不进入休眠
  6. python 安装失败 errorcode 2203_win10系统安装软件出现the error code is 2203错误怎么办...
  7. python抢优惠券程序_python3 优惠券查询GUI程序
  8. 怎样才算通用人工智能?
  9. [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
  10. mtk+android+wear,MTK专用处理器--可穿戴