题目传送门

 /*
模拟:看懂题意,主要是碰壁后的转向,笔误2次
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std; const int MAXN = 1e3 + ;
const int INF = 0x3f3f3f3f;
struct Rabbit
{
char c;
int d, s, t;
int x, y;
}r[]; int main(void) //HDOJ 4552 Running Rabbits
{
// freopen ("K.in", "r", stdin); int n;
while (scanf ("%d", &n) == )
{
if (n == ) break;
getchar ();
for (int i=; i<=; ++i)
{
scanf ("%c %d %d", &r[i].c, &r[i].s, &r[i].t);
if (r[i].c == 'E') r[i].d = ;
else if (r[i].c == 'N') r[i].d = ;
else if (r[i].c == 'W') r[i].d = ;
else r[i].d = ;
getchar ();
}
int k; scanf ("%d", &k);
r[].x = r[].y = ; r[].x = r[].y = n; for (int i=; i<=k; ++i)
{
for (int j=; j<=; ++j)
{
if (r[j].d == )
{
if (r[j].y + r[j].s > n)
{
r[j].y = * n - (r[j].y + r[j].s);
r[j].d = ;
}
else r[j].y += r[j].s;
}
else if (r[j].d == )
{
if (r[j].x - r[j].s < )
{
r[j].x = + r[j].s - r[j].x;
r[j].d = ;
}
else r[j].x -= r[j].s;
}
else if (r[j].d == )
{
if (r[j].y - r[j].s < )
{
r[j].y = + r[j].s - r[j].y;
r[j].d = ;
}
else r[j].y -= r[j].s;
}
else if (r[j].d == )
{
if (r[j].x + r[j].s > n)
{
r[j].x = * n - (r[j].x + r[j].s);
r[j].d = ;
}
else r[j].x += r[j].s;
}
} if (r[].x == r[].x && r[].y == r[].y) swap (r[].d, r[].d);
else
{
if (i % r[].t == ) r[].d = (r[].d + ) % ;
if (i % r[].t == ) r[].d = (r[].d + ) % ;
}
} for (int i=; i<=; ++i) printf ("%d %d\n", r[i].x, r[i].y);
} return ;
}

模拟 HDOJ 4552 Running Rabbits的更多相关文章

  1. [模拟] hdu 4452 Running Rabbits

    意甲冠军: 两个人在一个人(1,1),一个人(N,N) 要人人搬家每秒的速度v.而一个s代表移动s左转方向秒 特别值得注意的是假设壁,反弹.改变方向 例如,在(1,1),采取的一个步骤,以左(1,0) ...

  2. hdu 4452 Running Rabbits 模拟

    Running RabbitsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  3. HDU4452 Running Rabbits

    涉及知识点: 1. direction数组. 2. 一一映射(哈希). Running Rabbits Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  4. LPS HDOJ 4745 Two Rabbits

    题目传送门 /* 题意:一只兔子顺时针跳,另一只逆时针跳,跳石头权值相等而且不能越过起点 LPS:这道就是LPS的应用,把环倍增成链,套一下LPS,然而并不能理解dp[i][i+n-2] + 1,看别 ...

  5. HDU 4452 Running Rabbits (模拟题)

    题意: 有两只兔子,一只在左上角,一只在右上角,两只兔子有自己的移动速度(每小时),和初始移动方向. 现在有3种可能让他们转向:撞墙:移动过程中撞墙,掉头走未完成的路. 相碰: 两只兔子在K点整(即处 ...

  6. 【HDU 4452 Running Rabbits】简单模拟

    两只兔子Tom和Jerry在一个n*n的格子区域跑,分别起始于(1,1)和(n,n),有各自的速度speed(格/小时).初始方向dir(E.N.W.S)和左转周期turn(小时/次). 各自每小时往 ...

  7. 模拟 HDOJ 5099 Comparison of Android versions

    题目传送门 /* 题意:比较型号的大小 模拟:坑点在长度可能为5,此时设为'A' */ #include <cstdio> #include <algorithm> #incl ...

  8. 模拟 HDOJ 5095 Linearization of the kernel functions in SVM

    题目传送门 /* 题意:表达式转换 模拟:题目不难,也好理解题意,就是有坑!具体的看测试样例... */ #include <cstdio> #include <algorithm& ...

  9. 模拟 HDOJ 5387 Clock

    题目传送门 /* 模拟:这题没啥好说的,把指针转成角度处理就行了,有两个注意点:结果化简且在0~180内:小时13点以后和1以后是一样的(24小时) 模拟题伤不起!计算公式在代码内(格式:hh/120 ...

随机推荐

  1. Linux中kill,pkill,killall和xkill命令汇总讲解

    终止一个进程或终止一个正在运行的程式,一般是通过 kill .killall.pkill.xkill 等进行.比如一个程式已死掉,但又不能退出,这时就应该考虑应用这些工具. 另 外应用的场合就是在服务 ...

  2. Django的static和media

    2013-09-09 18:13:57|          最近用到Django的静态文件,关于static和media,配置了很多次,终于可以用了.        首先是static,在'site/ ...

  3. I/O---BufferedInputStream及相关类介绍

    关于BufferedInputStream 是java提供的具有缓存作用的字节输入流.与之对应的还有BufferedOutStream 和 BufferedRead 和BufferedWriter 这 ...

  4. 请问这个「 (?<=<(\w+)>).*(?=<\/\1>) 」正则表达式是什么意思呢?

    问题:https://www.zhihu.com/question/26480812  (?<=<(\w+)>).*(?=<\/\1>) ---------------- ...

  5. 硬件十万个为什么——运放篇(五)PCB设计技巧

    1.在PCB设计时,芯片电源处旁路滤波等电容应尽可能的接近器件.典型距离是小于3MM 2.运算放大器芯片电源处的小陶瓷旁路电容在放大器处于输入高频信号时能够为放大器的高频特性提供能量电容值的选择依据输 ...

  6. C++ - RTTI(RunTime Type Information)执行时类型信息 具体解释

    RTTI(RunTime Type Information)执行时类型信息 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details ...

  7. Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针

    本次我们学习Android传感器的开发,前面已经介绍过了,tween的使用,所以,我们可以结合传感器与tween动画,开发简易的指南针. 首先先介绍一下传感器的相关知识, 在Android应用程序中使 ...

  8. Mac SavePanel 保存文件的GUI代码

    // Move the recorded temporary file to a user-specified location (视频文件另存储过程,依据用户选择的路径和文件保存名) NSSaveP ...

  9. gcc的搜索路径,头文件和库

    1 抛开默认的搜索路径,自己指定搜索路径 第一,明确自己编写的代码所需要的头文件和库放在了哪里 第二,使用“-I”指定头文件的搜索路径,使用-rpath指定库的搜索路径 2 无论是本地编译还是交叉编译 ...

  10. pagefile.sys

    pagefile.sys