【hdu 4452】Running Rabbits 题解&代码(C++)
来源:互联网 发布:淘宝店铺的网址怎么看 编辑:程序博客网 时间:2024/05/21 21:44
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=4452
题解:
模拟兔子走路过程即可。
代码:
#include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>using namespace std;int n,k,v1,v2,t1,t2;char s1[3],s2[3];int d[2][4]={{-1,0,1, 0}, { 0,1,0,-1}};int z(char a){ if (a=='N') return 0; if (a=='E') return 1; if (a=='S') return 2; return 3;}int main(){ while(1) { scanf("%d",&n); if (n==0) return 0; scanf("%s%d%d",s1,&v1,&t1); scanf("%s%d%d",s2,&v2,&t2); scanf("%d",&k); int f1=z(s1[0]); int f2=z(s2[0]); int stx1=1,sty1=1; int stx2=n,sty2=n; //cout<<0<<endl; //cout<<f1<<' '<<f2<<endl; for (int i=1;i<=k;i++) { int nex1=stx1+d[0][f1]*v1; int ney1=sty1+d[1][f1]*v1; int nex2=stx2+d[0][f2]*v2; int ney2=sty2+d[1][f2]*v2; if (nex1<1) { int cha=abs(nex1-1); nex1=1+cha; f1=(f1+2)%4; } if (nex1>n) { int cha=abs(nex1-n); nex1=n-cha; f1=(f1+2)%4; } if (ney1<1) { int cha=abs(ney1-1); ney1=1+cha; f1=(f1+2)%4; } if (ney1>n) { int cha=abs(ney1-n); ney1=n-cha; f1=(f1+2)%4; } if (nex2<1) { int cha=abs(nex2-1); nex2=1+cha; f2=(f2+2)%4; } if (nex2>n) { int cha=abs(nex2-n); nex2=n-cha; f2=(f2+2)%4; } if (ney2<1) { int cha=abs(ney2-1); ney2=1+cha; f2=(f2+2)%4; } if (ney2>n) { int cha=abs(ney2-n); ney2=n-cha; f2=(f2+2)%4; } stx1=nex1;sty1=ney1; stx2=nex2;sty2=ney2; if (stx1==stx2&&sty1==sty2) { swap(f1,f2); continue; } if (i%t1==0) f1=(f1+3)%4; if (i%t2==0) f2=(f2+3)%4; // cout<<i<<endl; // cout<<f1<<' '<<stx1<<' '<<sty1<<endl; // cout<<f2<<' '<<stx2<<' '<<sty2<<endl; } printf("%d %d\n",stx1,sty1); printf("%d %d\n",stx2,sty2); }}
0 0
- 【hdu 4452】Running Rabbits 题解&代码(C++)
- 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 (模拟题)
- HDU 4452 - Running Rabbits(模拟)
- HDU 4452 Running Rabbits (模拟)
- HDU 4452 Running Rabbits 【模拟】
- [模拟] hdu 4452 Running Rabbits
- HDU 4452 Running Rabbits [模拟]
- 三角形4
- 方法参数是值传递
- 清除多余的空格
- 第6周项目4 时间制的转换和是否前导0
- 基于bootstrap的左侧栏
- 【hdu 4452】Running Rabbits 题解&代码(C++)
- 【HDU 2135】【水题】 Rolling table
- vs2010 编写windows service 服务程序
- UITextView
- ACM题集以及各种总结大全
- ArcGIS输出面-由TXT文件转换成矢量面
- 矩阵连乘问题的java实现
- Java的NIO
- Linux 文件系统:procfs, sysfs, debugfs 用法简介