poj2632 累死了

题意:

给定A*B的格子,放入N个机器人,每个机器人初始位置及朝向给定。给定M条指令。指令类型有三种:

1、L:左转90°      2、R:右转90°       3、F:前进一格

问执行指令过程中机器人是否发生碰撞,碰撞包括碰墙或碰其他机器人。安全执行完所有指令输出OK。(程序只需输出发生的第一次碰撞)

 

第一发我定义了一个cnate[20000][20000]直接空间爆炸

第二发不知道走过的路径中碰到机器人的话也算碰撞

第三发到第五发坐标建立错误(看图就知道了) 最后实在不知道了就看了下别人的题解...  

最后总结一下:这种模拟题一定要根据题目意思来,题目是什么就怎么模拟,唉,可怜我这种英语渣渣。

这道题前前后后做了四个小时...  

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 const int maxn = 100 + 10;
 5 int cnate[maxn][maxn];
 6 int dx[] = {0,1,0,-1};
 7 int dy[] = {1,0,-1,0};
 8 int zhuang=0,beizhuang=0;
 9 char s[5];
10 using namespace std;
11 struct Robots{
12     int x,y,d;
13 }r[maxn];
14 int main()
15 {
16     int n,m,e=0,flag;
17     int t;int a,b;
18     scanf("%d",&t);getchar();
19     while(t--){
20         flag=0;
21         memset(cnate,0,sizeof(cnate));
22         scanf("%d %d",&a,&b);scanf("%d %d",&n,&m);
23         for(int i=1;i<=n;i++){
24             scanf("%d %d",&r[i].x,&r[i].y);
25             scanf("%s",s);cnate[r[i].y][r[i].x]=i;  //就是这里,建立坐标
26             switch(s[0]){
27                 case 'N':r[i].d=0;break;
28                 case 'E':r[i].d=1;break;
29                 case 'S':r[i].d=2;break;
30                 case 'W':r[i].d=3;break;
31             }
32         }
33         char act[3];int num,rep;
34         while(m--){
35             scanf("%d %s %d",&num,act,&rep);
36             if(!flag){
37                 if(act[0]=='L')    r[num].d=((r[num].d-rep)%4+4)%4;
38                 else if(act[0]=='R')    r[num].d=(r[num].d+rep)%4;
39                 else{
40                     cnate[r[num].y][r[num].x] = 0;
41                     for(int i=0;i<rep;++i){
42                         r[num].x+=dx[r[num].d];
43                         r[num].y+=dy[r[num].d];
44                         if(r[num].x<=0||r[num].x>a||r[num].y<=0||r[num].y>b){
45                             zhuang=num;flag=1;break;
46                         }
47                         else if(cnate[r[num].y][r[num].x]){
48                             zhuang=num;beizhuang=cnate[r[num].y][r[num].x];
49                             flag=2;break;
50                         }
51                     }
52                     if(!flag)    cnate[r[num].y][r[num].x] = num;
53                 }    
54             }
55         }
56         if(flag==1)    printf("Robot %d crashes into the wall\n", zhuang);
57         else if(flag==2)    printf("Robot %d crashes into robot %d\n", zhuang, beizhuang);
58         else    printf("OK\n");
59     }
60     return 0;
61 }

 

转载于:https://www.cnblogs.com/sasuke-/p/5111776.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码生成器原理

整个架设思路分的4个部分&#xff1a;A&#xff1a;底层物理数据库层&#xff0c;主要是存储数据用的。B&#xff1a;数据库访问层&#xff0c;主要是为了写一套代码可以跑在多种数据库上。C&#xff1a;一些辅助工具、基础组件&#xff0c;是为了加强自动产生代码的功能、简化…

【Blog.Core开源】将Program升级为.NET6.0版本

大家假期好&#xff0c;好久不见&#xff0c;之前忙于其他事情&#xff0c;公众号暂时搁置了一个月了&#xff0c;新的一年开始了&#xff0c;很多小伙伴开始催更了&#xff0c;粉丝的要求必须满足。2022年打算重点推广BCVP社区&#xff0c;所以还是希望有愿意投稿的小伙伴&…

python画两条曲线_查找在matplotlib中绘制的两条曲线之间的区域(在区域之间填充)...

我有两条曲线的x和y值列表&#xff0c;它们都有奇怪的形状&#xff0c;而且我没有任何函数。我需要做两件事&#xff1a;&#xff08;1&#xff09;绘制它并对曲线之间的区域进行着色&#xff0c;如下图所示&#xff1b;&#xff08;2&#xff09;找到曲线之间该着色区域的总面…

OXY OPENCART 商城自适应主题模板 ABC-0020-05

OXY OPENCART 商城自适应主题模板 ABC-0020-05OXY FEATURESLayoutFoundation Framework – the most advanced responsive front-end framework in the world.100% Fully Responsive – Solid Flexible Responsive Layout that scales from 320px to 1440px.You can disable re…

年月跨度_建筑结构丨国内跨度最大的张弦桁架工程——合肥滨湖国际会展中心二期首榀桁架滑移成功...

来源&#xff1a;中建科工 华中大区。2020年12月8日全国公建领域最大跨度的张弦桁架钢结构工程合肥滨湖国际会展中心二期首榀桁架滑移顺利完成合肥滨湖国际会展中心二期项目位于合肥市滨湖新区锦绣大道与广西路交口&#xff0c;该项目2#综合馆建筑面积约4.8万平方米&#xff0c…

【C#/.NET】不用AutoMapper,我用啥呢?

微信公众号&#xff1a;趣编程ACE关注可了解更多的.NET日常实战开发技巧。如需源码请后台留言源码;**[如果觉得对您有帮助&#xff0c;欢迎关注]TinyMapper简介本文来自社区群粉丝投稿TinyMapper是一个.NET平台下的一个轻量级对象映射工具&#xff0c;号称是.Net平台下最快的对…

HBase键值分片的简单运用

1.基本原理介绍 HBase的存储是通过行键建立索引进行存储的&#xff0c;而且HBase只支持一级索引&#xff0c;因此只要通过行键才能很快的找到需要的数据。HBase是一个分布式的系统&#xff0c;HBase通过行键的分片&#xff0c;把不同的数据存储在不同的主机上。1).顺序分片依据…

我要3万取款机怎么取_7万的新宝骏RS-3怎么样?用车三个月后,车主说出了实话...

小型SUV领域&#xff0c;作为目前SUV市场之中竞争最激烈的细分领域之一&#xff0c;已经成为众多车企的必争之地。而正因如此&#xff0c;小型SUV市场所具有的车型非常的丰富&#xff0c;且其中更是一点也不缺爆款车型&#xff0c;正如在去年底刚上市的一款小型SUV——新宝骏RS…

MODIS数据说明

MODIS目前主要存在于两颗卫星上&#xff1a;TERRA和AQUA。TERRA卫星每日地方时上午10:30时过境&#xff0c;因此也把它称作地球观测第一颗上午星(EOS-AM1)。AQUA每日地方时下午过境&#xff0c;因此称作地球观测第一颗下午星(EOS-PM1)。两颗星相互配合&#xff0c;每1-2天可重复…

.NET 为大型应用接入 ApplicationStartupManager 启动流程框架

对于大型的应用软件&#xff0c;特别是客户端应用软件&#xff0c;应用启动过程中&#xff0c;需要执行大量的逻辑&#xff0c;包括各个模块的初始化和注册等等逻辑。大型应用软件的启动过程都是非常复杂的&#xff0c;而客户端应用软件是对应用的启动性能有所要求的&#xff0…

思科为其核心网络业务增加了订阅服务

据国外媒体报道&#xff0c;思科系统公司的核心网络业务于周二开始进军订阅服务市场&#xff0c;其向大型企业宣布了一系列新的安全和自动化工具。 这个新的“直观网络”代表了思科如何从其旗舰业务中获得收入的重大变化。San Jose公司一直依赖于网络设备的销售&#xff0c;这些…

if函数python_pythonif函数

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; python的内置的函数round() a 1.12586 #保留小数的函数,四舍五入&#xff0c;参数为保留小数点后的位数 pr…

Foundatio - .Net Core用于构建分布式应用程序的可插拔基础块

简介Foundatio - 用于构建分布式应用程序的可插拔基础块•想要针对抽象接口进行构建&#xff0c;以便我们可以轻松更改实现。希望这些块对依赖注入友好。•缓存&#xff1a;我们最初使用的是开源 Redis 缓存客户端&#xff0c;但后来它变成了具有高许可成本的商业产品。不仅如此…

开讲啦观后感2017计算机科学家,开讲啦观后感2017

1 开讲啦观后感2017(一)是因为有爱&#xff0c;我才付出的&#xff0c;因为是我爱的&#xff0c;而我又付出了&#xff0c;所以我会更爱。这是郑教授的演讲《你为什么读大学》中给我映像最深刻的一句话。我也能从这句话中找到我读大学的原因因为我爱。古时候说你十年寒窗苦读&a…

php 解压zip

2019独角兽企业重金招聘Python工程师标准>>> /*** 解压zip* param type $file* param type $destination* return boolean*/public function unzip_file($file, $destination){ $zip new ZipArchive() ; if ($zip->open($file) ! TRUE) {return $this->error…

如何评价国内SRC纷纷上线“白帽子协议”?

2017年6月1日21:21分 某监狱里&#xff0c;对话如下&#xff1a; 犯人A:你们都是怎么来的&#xff1f; 犯人B:我是XX漏洞平台挖漏洞不小心进来的。 犯人C:我是XX平台路人甲&#xff0c;输错命令了rm -rf / &#xff08;批量删除&#xff09; 犯人D:我是某测评中心的忘了要授权了…

SQL Server数据库备份的镜像

SQL Server数据库备份的镜像 原文:SQL Server数据库备份的镜像SQL Server数据库备份的镜像 一个完整备份可以分开镜像 USE master GOBACKUP DATABASE [testdatabase] TO DISK NC:\testdatabase1.bak MIRROR TO DISK ND:\testdatabase2.bak WITH FORMAT, INIT GO 一个完整备份…

C# 观察文件的更改

使用 FileSystemWatcher 可以监视文件的更改。事件在创建、重命名、删除和更改文件时触发。这可用于如下场景&#xff1a;需要对文件的变更做出反应&#xff0c;例如&#xff0c;服务器上传文件时&#xff0c;或文件缓存在内存中&#xff0c;而缓存需要在文件更改时失效。因为 …

php 自动创建目录

2019独角兽企业重金招聘Python工程师标准>>> /*** 创建目录* param type $path* param type $mode* return type */public function rmkdir($path, $mode 0777) {return is_dir($path) || ( $this->rmkdir(dirname($path), $mode) && $this->_mkdir(…

油管螺纹尺寸对照表_yt15硬质合金刀片尺寸|A320焊接刀头参数

硬质合金刀片牌号表示方法如下图&#xff1a;yw1硬质合金刀片a320钨钛钴类硬质合金主要成分是碳化钨、碳化钛(TiC)及钴。其牌号由“YT”(“硬、钛”两字汉语拼音字首)和碳化钛平均含量组成。例如&#xff0c;YT15&#xff0c;表示平均碳化钛(TiC)15%&#xff0c;其余为碳化钨和…