模拟 HDOJ 4552 Running Rabbits
2024-09-02 20:18:23
/*
模拟:看懂题意,主要是碰壁后的转向,笔误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 ;
}
最新文章
- Linux内核笔记--内存管理之用户态进程内存分配
- (42) Aeroo 模板实战
- Winform Textbox MultiLine和WordWrap属性的使用
- Valid Parentheses 使用递归的解法
- 基于HTML5的WebGL结合Box2DJS物理引擎应用
- linux中非root用户使用wireshark进行抓包
- Leetcode 38 Count and Say 传说中的递推
- How to install and configure Azure PowerShell
- CPU信息查询
- C# 工厂模式示例
- rs.open sql,conn,3,1中3,1代表什么
- 处理不等高TableViewCell
- eval
- 20169210《Linux内核原理与分析》第四周作业
- WdatePicker.js 日期时间插件
- (原)使用mkl中函数LAPACKE_sgesv计算矩阵的逆矩阵
- thinkPHP HTML输出多条查询结果
- 史上最全的select加锁分析(Mysql)
- 【下一代核心技术DevOps】:(三)私有代码库阿里云Git使用
- Fiddler Web Debugger的代理功能(图文详解)
热门文章
- POJ 3415 (后缀自动机)
- [bzoj2150]部落战争_二分图最小路径覆盖
- codevs——1013 求先序排列
- Android GIS开发系列-- 入门季(12) 显示载天地图
- Swift可选类型(Optional)之星耀
- jQuery -&;gt; 获取指定上下文中的DOM元素
- 【c语言】统计一个数字在排序数组中出现的次数
- 高速清空linux下文本文件内容
- 《深入理解Android 卷III》第四章 深入理解WindowManagerService
- ACdream区域赛指导赛之手速赛系列(5) 题解