1 /*
  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相关推荐

  1. HDU 2300 Crashing Robots

    Crashing Robots 题意 模拟多个机器人在四个方向的移动,检测crash robot, crash wall, OK这些状态 这是个模拟题需要注意几点: 理解转变方向后移动多少米,和转动方 ...

  2. 模拟 POJ 2632 Crashing Robots

    题目地址:http://poj.org/problem?id=2632 1 /* 2 题意:几个机器人按照指示,逐个朝某个(指定)方向的直走,如果走过的路上有机器人则输出谁撞到:如果走出界了,输出谁出 ...

  3. 【POJ - 2632】Crashing Robots(模拟)

    题干: In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ens ...

  4. 台州学院acm:Crashing Robots

    描述 In a modernized warehouse, robots are used to fetch the goods. Careful planning is needed to ensu ...

  5. 杭电oj题目题型分类(转)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

  6. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  7. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  8. 杭电OJ题目分类(转载)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

  9. HOJ题目分类//放这儿没事刷刷学算法!嘻嘻!

    各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...

  10. hdoj杭电问题分类

    杭电上的题虽然多,但是一直苦于找不到问题分类,网页都是英文的,所以平时做题也没怎么看,今天仔细一看,问题分类竟然就在主页....做了那么久的题居然没发现,表示已经狗带..不要笑,不知道有没有像我一样傻 ...

最新文章

  1. socket-accept
  2. Linux 创建交换(swap)分区
  3. 团队-团队编程项目作业名称-需求分析
  4. 多核处理器_多核处理器还能走多远?2050年用上1024核CPU
  5. Java架构师必须知道的 6 大设计原则
  6. 你说,Redis如何实现键值自动清理?
  7. 2017-2018-1 20155222 《信息安全系统设计基础》课上实验2、3
  8. 小甲鱼Python教程学习笔记(一)
  9. luogu P5286 [HNOI2019]鱼
  10. 解决flutter应用模拟器出现System UI isn‘t respon报错
  11. 面试-android
  12. 统计csv表格中某一元素的个数(count函数)
  13. QT:复杂结构体不同窗口间传递
  14. Java基础概念——变量联系-计算公交车的人数
  15. 「有趣」基因组上除了ATCGN还能有什么字符
  16. live555编译移植
  17. RG120A-BB破解说明
  18. 身份证号码编码方法及校验算法
  19. Springboot 报错Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported
  20. 新星计划第二季|量身打造、全新互动,快来报名

热门文章

  1. 激光雷达点云数据处理一(Terrasolid软件安装)
  2. Python基础语法-05-装饰器
  3. java父类可以强转为子类吗_java父类可以强制转化成子类吗?
  4. Linux 常用命令大全(非常全!!!)
  5. 就问你慌不慌:每天都有 一百万 程序员在投简历
  6. acm入门搜索-石油数目
  7. ble主服务的uuid 是一致的吗_nrf52832 开发之添加DFU服务
  8. constraintlayout布局新特性_进阶ConstraintLayout-2.0新特性
  9. mysql 数据字典详解_MySQL8功能详解——数据字典
  10. java 双冒号_Java 双冒号::是什么操作符?