hdu 4452
今天模拟赛的一个模拟题;
每次看到这种题就感觉很繁琐;
这次静下心来写写,感觉还不错!就是很多错误,浪费了一点时间;
代码:
#include<cstdio>
#include<cstring>
using namespace std; int d[][]= {{,},{,},{-,},{,-}}; struct run
{
int x,y;
int s,p,d;
} r[];
int t,n;
void go()
{
bool flag;
for(int i=; i<t; i++)
{
flag=;
if(r[].x==r[].x&&r[].y==r[].y)
{
flag=;
int a=r[].d;
r[].d=r[].d;
r[].d=a;
}
for(int j=; j<; j++)
{
if(i!=&&(i%r[j].p==)&&flag)
r[j].d=(r[j].d+)%;
r[j].x=r[j].x+d[r[j].d][]*r[j].s;
if(r[j].x<=)
{
r[j].x=(-r[j].x)+;
r[j].d=;
}
if(r[j].x>n)
{
r[j].x=n-(r[j].x-n);
r[j].d=;
}
r[j].y=r[j].y+d[r[j].d][]*r[j].s;
if(r[j].y<=)
{
r[j].y=(-r[j].y)+;
r[j].d=;
}
if(r[j].y>n)
{
r[j].y=n-(r[j].y-n);
r[j].d=;
}
}
}
}
char s[];
int main()
{
while(scanf("%d",&n)&&n)
{
for(int i=; i<; i++)
{
scanf("%s",&s);
if(s[]=='E') r[i].d=;
else if(s[]=='S') r[i].d=;
else if(s[]=='W')r[i].d=;
else if(s[]=='N')r[i].d=;
scanf("%d%d",&r[i].s,&r[i].p);
}
r[].x=,r[].y=;
r[].x=n,r[].y=n;
scanf("%d",&t);
go();
for(int i=; i<; i++)
printf("%d %d\n",r[i].y,r[i].x);
}
return ;
}
hdu 4452的更多相关文章
- 【HDU 4452 Running Rabbits】简单模拟
两只兔子Tom和Jerry在一个n*n的格子区域跑,分别起始于(1,1)和(n,n),有各自的速度speed(格/小时).初始方向dir(E.N.W.S)和左转周期turn(小时/次). 各自每小时往 ...
- HDU 4452 Running Rabbits (模拟题)
题意: 有两只兔子,一只在左上角,一只在右上角,两只兔子有自己的移动速度(每小时),和初始移动方向. 现在有3种可能让他们转向:撞墙:移动过程中撞墙,掉头走未完成的路. 相碰: 两只兔子在K点整(即处 ...
- [模拟] hdu 4452 Running Rabbits
意甲冠军: 两个人在一个人(1,1),一个人(N,N) 要人人搬家每秒的速度v.而一个s代表移动s左转方向秒 特别值得注意的是假设壁,反弹.改变方向 例如,在(1,1),采取的一个步骤,以左(1,0) ...
- hdu 4452 37届金华赛区 K题
题意:给一个n*n的格子,1在左上角,2在右下角,每个人有一个初始速度和方向,若遇到边缘,则朝相反方向前进,若两个人相遇则交换方向(注意方向改变后,人仍然需要移动),同时,每个人每过t1,t2时间就会 ...
- hdu 4452 Running Rabbits 模拟
Running RabbitsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
随机推荐
- 1.shell之搭建Shell编程环境
第一次写博客,加点废话,学习linux有一段时间,随着学习的深入发现自己学的不够系统,特别是遇到一些莫名的问题时,我只有各种百度,运气好时能解决掉,差时到现在还没解决,就算解决了还是不清楚是怎么解决的 ...
- javascript-01
1.JavaScript:浏览器脚本语言 2.JavaScript的作用 |-1.进行前端验证 |-2.实现页面的动态效果 3.JavaScript的特点 |-1.和java没有任何关系,官方标 ...
- order by跟group by 跟having(2)
- group by java实现
public static void abc(List list,String... sortName) throws Exception{ Map<String,List<Object& ...
- [转] c# 数据类型占用的字节数
http://www.cnblogs.com/laozuan/archive/2012/04/24/2467888.html
- 学习笔记_过滤器应用(粗粒度权限控制(拦截是否登录、拦截用户名admin权限))
RBAC ->基于角色的权限控制 l tb_user l tb_role l tb_userrole l tb_menu(增.删.改.查) l tb_rolemenu 1 说明 我们给 ...
- (一)初识Android
第一节:手机操作系统简介 目前的主流智能操作系统有:Android , IOS , windows mobile ; Android 开源,属于谷歌公司,市场份额较大,前景广阔: IOS 属于苹果公司 ...
- HDU 3442 Three Kingdoms(状态压缩 + BFS )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3442 题目大意:三国时期,刘备逃亡.给定一个最大为50*50的地图,刘备在地图中只能往4个方向走. 地 ...
- 学习基于OpenGL的CAD程序的开发计划(一)
本人目前从事的工作面对的客户中很多来自高端制造业,他们对CAD/CAE/CAM软件的应用比较多.公司现有的软件产品主要是用于渲染展示及交互,但面对诸如CAD方面的应用(比如基于约束的装配.制造工艺的流 ...
- 基于ECharts 的地图例子
最近的一个项目要用到显示地图,本来用jq做了一个,但由于客户不满意(确实自己弄的样式效果都不是太理想),于是就上网搜了搜,最后决定基于百度的ECharts来弄地图 本来自己js基础不是很扎实,EC ...