HDU 4452 Running Rabbits 【模拟】
来源:互联网 发布:思科大数据平台 编辑:程序博客网 时间:2024/05/16 06:37
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4452
所说这题把我队友坑了好几天。思维有洞呀,我没有想到什么bug去帮他解决。最后也是根据题意直接模拟过的。
#include<cstdio>#include<algorithm>using namespace std;int Map[25][25];struct Rabbit{int x,y;int s,t;char dir[2];}ra,rb,ne;//ra,rb两只rabbit和ne表示下一步next int n;void Run(Rabbit k,int s){//先计算出每一刻两只rabbit跑到的地方(假设没墙) ne.x=k.x,ne.y=k.y; if(k.dir[0]=='S') ne.x=k.x+s;else if(k.dir[0]=='N') ne.x=k.x-s;else if(k.dir[0]=='E') ne.y=k.y+s;else ne.y=k.y-s;}void Judgedir(Rabbit &k){//判断是否走超过了墙壁 if(ne.x>n) k.x=2*n-ne.x,k.dir[0]='N';else if(ne.x<1) k.x=2-ne.x,k.dir[0]='S';else k.x=ne.x;if(ne.y>n) k.y=2*n-ne.y,k.dir[0]='W';else if(ne.y<1) k.y=2-ne.y,k.dir[0]='E';else k.y=ne.y;}void Chdir(Rabbit &k){//左转 if(k.dir[0]=='E') k.dir[0]='N';else if(k.dir[0]=='W') k.dir[0]='S';else if(k.dir[0]=='S') k.dir[0]='E';else k.dir[0]='W';}int main(){int i,tt;while(scanf("%d",&n),n){scanf("%s%d%d",ra.dir,&ra.s,&ra.t);scanf("%s%d%d",rb.dir,&rb.s,&rb.t);ra.x=1,ra.y=1;rb.x=n,rb.y=n;scanf("%d",&tt);for(i=1;i<=tt;i++){Run(ra,ra.s);//跑一次 Judgedir(ra);//判断一次(是否出墙) Run(rb,rb.s);Judgedir(rb);//printf("%s %s\n",ra.dir,rb.dir);if(ra.x==rb.x&&ra.y==rb.y) swap(ra.dir[0],rb.dir[0]);//如果在同一房间 else{//不在同一房间 if(i%ra.t==0) Chdir(ra);if(i%rb.t==0) Chdir(rb);}//printf("%d %d\n%d %d\n",ra.x,ra.y,rb.x,rb.y);//printf("%s %s\n\n",ra.dir,rb.dir);}printf("%d %d\n%d %d\n",ra.x,ra.y,rb.x,rb.y);}return 0;}
- HDU 4452 Running Rabbits 【模拟】
- [模拟] hdu 4452 Running Rabbits
- HDU 4452 Running Rabbits [模拟]
- [hdu 4452] Running Rabbits 模拟
- hdu 4452 Running Rabbits (模拟)
- HDU Running Rabbits(模拟)
- Hdu 4452 Running Rabbits 大模拟
- hdu 4452 Running Rabbits (简单模拟)
- hdu 4452 Running Rabbits(模拟水题)
- HDU 4452 Running Rabbits (模拟题)
- HDU 4452 - Running Rabbits(模拟)
- HDU 4452 Running Rabbits (模拟)
- hdu 4452 Running Rabbits
- hdu 4452 Running Rabbits
- hdu 4452 Running Rabbits
- hdu - 4452 - Running Rabbits
- hdu 4452 Running Rabbits
- hdu 4452 Running Rabbits
- 正则表达式匹配括号外的符号
- Android应用中通过AIDL机制实现进程间的通讯实例
- poj 1315 经典的dfs
- android.graphics.BitmapRegionDecoder
- ibatis源码学习(一)整体设计和核心流程
- HDU 4452 Running Rabbits 【模拟】
- Servlet与Applet
- 数据库和表
- 久别的博文
- NSIS 去除字串中的汉字
- 为什么UIViewController会有navigationController属性
- 第20题: 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345。
- Tsung 初试
- android 常用代码汇总