1228. Crashing Robots
2 *直接按照题意模拟
3 *如果有一个机器人出现问题,那么后面的行动都不执行
4 *
5 *
6 *
7 */
8
9 #include <iostream>
10 #include <memory.h>
11 using namespace std;
12 struct rb
13 {
14 int x;
15 int y;
16 int dr;
17 };
18 rb rbt[110];
19 int house[111][111];
20 int w,l;
21 int n,m;
22 int main()
23 {
24 int t;
25 cin>>t;
26 while(t--)
27 {
28 cin>>w>>l>>n>>m;
29 int ses=1;
30 memset(house,0,sizeof(house));
31 for(int i=1;i<=n;i++)
32 {
33 char x;
34 cin>>rbt[i].x>>rbt[i].y>>x;
35 if(x=='N')
36 rbt[i].dr=0;
37 else if(x=='E')
38 rbt[i].dr=1;
39 else if(x=='S')
40 rbt[i].dr=2;
41 else if(x=='W')
42 rbt[i].dr=3;
43 house[rbt[i].x][rbt[i].y]=i;
44 }
45 for(int j=0;j<m;j++)
46 {
47 int i;
48 cin>>i;
49 char ac;
50 cin>>ac;
51 int rp;
52 cin>>rp;
53 if(ses==1)
54 {
55 if(ac=='F')
56 {
57 for(int k=0;k<rp;k++)
58 {
59 house[rbt[i].x][rbt[i].y]=0;
60 if(rbt[i].dr==0)
61 rbt[i].y++;
62 else if(rbt[i].dr==1)
63 rbt[i].x++;
64 else if(rbt[i].dr==2)
65 rbt[i].y--;
66 else if(rbt[i].dr==3)
67 rbt[i].x--;
68 if(rbt[i].x<1||rbt[i].x>w||rbt[i].y<1||rbt[i].y>l)
69 {
70
71 //cout<<rbt[i].x<<" "<<w<<endl;
72 cout<<"Robot "<<i<<" crashes into the wall"<<endl;
73 ses=0;
74 break;
75 }
76 if(house[rbt[i].x][rbt[i].y]!=0)
77 {
78 cout<<"Robot "<<i<<" crashes into robot "<<house[rbt[i].x][rbt[i].y]<<endl;
79 ses=0;
80 break;
81 }
82 else
83 {
84 house[rbt[i].x][rbt[i].y]=i;
85 }
86 }
87 }
88 else if(ac=='R')
89 {
90 rbt[i].dr=(rbt[i].dr+rp)%4;
91 }
92 else if(ac=='L')
93 {
94 rbt[i].dr=(rbt[i].dr-rp)%4;
95 if(rbt[i].dr<0)
96 rbt[i].dr+=4;
97 }
98 }
99 }
100 if(ses)
101 cout<<"OK"<<endl;
102 }
103 }
转载于:https://www.cnblogs.com/congzc/archive/2011/05/18/2329960.html
1228. Crashing Robots相关推荐
- HDU 2300 Crashing Robots
Crashing Robots 题意 模拟多个机器人在四个方向的移动,检测crash robot, crash wall, OK这些状态 这是个模拟题需要注意几点: 理解转变方向后移动多少米,和转动方 ...
- 模拟 POJ 2632 Crashing Robots
题目地址:http://poj.org/problem?id=2632 1 /* 2 题意:几个机器人按照指示,逐个朝某个(指定)方向的直走,如果走过的路上有机器人则输出谁撞到:如果走出界了,输出谁出 ...
- 【POJ - 2632】Crashing Robots(模拟)
题干: In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ens ...
- 台州学院acm:Crashing Robots
描述 In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ensu ...
- 杭电oj题目题型分类(转)
1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...
- HDOJ题目分类大全
版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...
- HDU题目分类大全【大集合】
基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.105 ...
- 杭电OJ题目分类(转载)
1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...
- HOJ题目分类//放这儿没事刷刷学算法!嘻嘻!
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- hdoj杭电问题分类
杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...
最新文章
- socket-accept
- Linux 创建交换(swap)分区
- 团队-团队编程项目作业名称-需求分析
- 多核处理器_多核处理器还能走多远?2050年用上1024核CPU
- Java架构师必须知道的 6 大设计原则
- 你说,Redis如何实现键值自动清理?
- 2017-2018-1 20155222 《信息安全系统设计基础》课上实验2、3
- 小甲鱼Python教程学习笔记(一)
- luogu P5286 [HNOI2019]鱼
- 解决flutter应用模拟器出现System UI isn‘t respon报错
- 面试-android
- 统计csv表格中某一元素的个数(count函数)
- QT:复杂结构体不同窗口间传递
- Java基础概念——变量联系-计算公交车的人数
- 「有趣」基因组上除了ATCGN还能有什么字符
- live555编译移植
- RG120A-BB破解说明
- 身份证号码编码方法及校验算法
- Springboot 报错Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
- 新星计划第二季|量身打造、全新互动,快来报名
热门文章
- 激光雷达点云数据处理一(Terrasolid软件安装)
- Python基础语法-05-装饰器
- java父类可以强转为子类吗_java父类可以强制转化成子类吗?
- Linux 常用命令大全(非常全!!!)
- 就问你慌不慌:每天都有 一百万 程序员在投简历
- acm入门搜索-石油数目
- ble主服务的uuid 是一致的吗_nrf52832 开发之添加DFU服务
- constraintlayout布局新特性_进阶ConstraintLayout-2.0新特性
- mysql 数据字典详解_MySQL8功能详解——数据字典
- java 双冒号_Java 双冒号::是什么操作符?