题目传送门

 /*
模拟:看懂题意,主要是碰壁后的转向,笔误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 ;
}

最新文章

  1. Linux内核笔记--内存管理之用户态进程内存分配
  2. (42) Aeroo 模板实战
  3. Winform Textbox MultiLine和WordWrap属性的使用
  4. Valid Parentheses 使用递归的解法
  5. 基于HTML5的WebGL结合Box2DJS物理引擎应用
  6. linux中非root用户使用wireshark进行抓包
  7. Leetcode 38 Count and Say 传说中的递推
  8. How to install and configure Azure PowerShell
  9. CPU信息查询
  10. C# 工厂模式示例
  11. rs.open sql,conn,3,1中3,1代表什么
  12. 处理不等高TableViewCell
  13. eval
  14. 20169210《Linux内核原理与分析》第四周作业
  15. WdatePicker.js 日期时间插件
  16. (原)使用mkl中函数LAPACKE_sgesv计算矩阵的逆矩阵
  17. thinkPHP HTML输出多条查询结果
  18. 史上最全的select加锁分析(Mysql)
  19. 【下一代核心技术DevOps】:(三)私有代码库阿里云Git使用
  20. Fiddler Web Debugger的代理功能(图文详解)

热门文章

  1. POJ 3415 (后缀自动机)
  2. [bzoj2150]部落战争_二分图最小路径覆盖
  3. codevs——1013 求先序排列
  4. Android GIS开发系列-- 入门季(12) 显示载天地图
  5. Swift可选类型(Optional)之星耀
  6. jQuery -&amp;gt; 获取指定上下文中的DOM元素
  7. 【c语言】统计一个数字在排序数组中出现的次数
  8. 高速清空linux下文本文件内容
  9. 《深入理解Android 卷III》第四章 深入理解WindowManagerService
  10. ACdream区域赛指导赛之手速赛系列(5) 题解