Crashing Robots

题目描述
模拟的做题思路:
模拟题目的解题方法就是根据题目的叙述,模拟题目中所述的过程,难点基本在于对于题意的理解、数据结构的组织、部分过程的优化。
思路
该题是典型的模拟题。只需要依照题目中所说的过程进行模拟即可。但是有一些小方法值得注意。在对于方向进行表示时,对于面朝方向dir,我们用0,1,2,3对应“NESW”(顺序不能乱),对于转向或直走操作用0,1,2表示“FLR”(顺序不能乱)。然后对于左转操作,我们只需要dir = (dir + 3) % 4;就可以得到正确的朝向,对于右转操作dir = (dir + 1) % 4;就可以得到正确的朝向。得到正确朝向后我们把对应的移动数组写出来就可以了。

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{int t;scanf("%d",&t);while(t--){int a,b;//分别表示仓库的长和宽 scanf("%d %d",&a,&b);int n,m;scanf("%d %d",&n,&m);int picture[a+1][b+1];char way[a][b];for(int i=0;i<=a;i++){for(int t=0;t<=b;t++){picture[i][t]=0;}}for(int i=0;i<n;i++){int x,y;char z;scanf("%d %d %c",&x,&y,&z);picture[x][y]=1;way[x][y]=z; }for(int i=0;i<m;i++){int x,y;char z;scanf("%d %c %d",&x,&z,&x);if(z=='R'){if(way[x][y]=='N')way='E';if(way[x][y]=='E')way='S';if(way[x][y]=='S')way='W';if(way[x][y]=='W')way='N';}if(z=='L'){if(way[x][y]=='N')way='W';if(way[x][y]=='E')way='N';if(way[x][y]=='S')way='E';if(way[x][y]=='W')way='S';}if(z=='F'){if(way[x][y]=='N'){picture[x][y]=0;picture[x][y+1]=1;}if(way[x][y]=='E'){picture[x][y]=0;picture[x+1][y]=1;}if(way[x][y]=='S'){picture[x][y]=0;picture[x][y-1]=1;}if(way[x][y]=='W'){picture[x][y]=0;picture[x-1][y]=1;}}}}return 0;
}

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. POJ 1573 POJ 2632(两道有趣的Robot)实例

    /* ** POJ 2632 Crashing Robots ** Created by Rayn @@ 2014/04/16 ** 坑爹的模拟题,脑壳不清晰的就要被坑惨了 */ #include & ...

  6. NKU 专题一 题解

    A - Flip Game 总的情况数只有2^16次方种,显然直接bfs就可以了 1 #include<iostream> 2 #include<queue> 3 #inclu ...

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

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

  8. HDOJ题目分类大全

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

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

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

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

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

最新文章

  1. (字符串的处理4.7.22)POJ 3337 Expression Evaluator(解析C风格的字符串)
  2. linux中终端字符界面打印QQ,教你如何在开发驱动时在图形界面下的终端打印字符!!...
  3. js判断是否在iframe中
  4. 系统性能分析从入门到进阶
  5. 电大计算机应用基础试卷号2007,电大计算机应用基础(试卷版)计算机试卷7.doc...
  6. 隔年增长的题_资料分析——隔年增长
  7. Educational Codeforces Round 52: E. Side Transmutations(burnside引理)
  8. Java List remove()方法– ArrayList remove()
  9. c语言贪吃蛇最简单代码_让我们跑一个最简单的GAN网络吧!(附Jupyter Notebook 代码)...
  10. Softmax 回归的从零开始实现 pytorch
  11. 计算机网络原理第五版课后--习题答案
  12. 总结:伺服电机控制及结合强弱电的控制系统
  13. CentOS6.5 开启防火墙iptables端口,如3306,8080
  14. 【高等数学笔记】格林公式、高斯公式、斯托克斯公式、场论
  15. 【转】计算机网络之域名、主机名、IP地址和URL
  16. java 图片加多处水印_Java在Word中添加多行图片水印
  17. APP崩溃的主要原因
  18. 2022年美赛D题思路分享+翻译
  19. 域用户登录方法在计算机上不被允许,域管理员不允许本地交互式登陆的解决方法...
  20. 计算机平均数函数试题,计算机期末Excel表格题及二级考试常用函数

热门文章

  1. 开源公告|腾讯代码安全指南开源,涉及C/C++、Go等六门编程语言
  2. 日语N2听力常用词汇
  3. 实践:Linux上安装nginx后同一服务器进行多域名反向代理
  4. Word插入目录页面编辑Tips
  5. 大学生找工作如何做自我介绍?如何做好自我介绍?
  6. Flutter Sliver滚动组件
  7. 程序员 -- 当我彻底放弃自私自利后,前途变得一片光明,不能过多的只是关注自己的功夫,生活不能只局限在方寸虚拟世界里
  8. Java 微信二维码支付
  9. php 改变键值,php数组中子数组如何修改键值
  10. 春天不健脾养胃 也要等什么时候