您的位置:首页 > 其它

POJ 2674 Linear world 已翻译

2016-12-16 19:07 288 查看




描述

光盘,平坦,没有真正的地平线。任何冒险的水手,从盯着鸡蛋和橘子得到有趣的想法太久,并提出了对立面​​很快就会了解到,远洋船有时看起来好像他们正在消失在世界的边缘的原因是,他们正在消失在边缘的世界。
(Terry Pratchett - 魔法颜色)
不久以前,人们曾经相信他们生活在二维世界上,如果他们在一个方向上走得足够长,他们将会掉在边缘。即使证明地球是圆的,一些人仍然害怕旅行到南半球。
尝试想象一个1-D(线性)世界。在这样的世界上,只有两个可能的方向(左和右)。这样的世界的所有居民是准确地同时创建,突然,他们开始移动(所有具有相同的恒定速度)在一个或另一个方向。如果两个居民彼此相遇,他们礼貌地交换问候,然后他们转身,开始在相反的方向移动。当一个居民到达世界的尽头,他就会消失。
你的任务是确定,对于给定的创作场景,哪个居民和什么时候(从创作的时刻)将是最后一个落下。您可以假设交换问候和转身所需的时间为0。

输入

输入包括创建时刻的多个描述(数据集)。文件结构如下:
N
LV
DIR POS NAME
... ...
第一行定义居民数量(N <32000)。以值N = 0开始的数据集表示输入文件的结尾。第二行包含世界L(float)和居民的速度V(float)的长度。两个值总是为正。在接下来的N行中,关于居民的数据以增加POS(正方向)的顺序给出:
DIR - 初始方向('p'或'P'代表正和'n'或'N'代表负)
POS - 创建时的位置(0 <= POS <= L)
NAME - 居民姓名(最多250个字符的字符串)
一行内的输入值至少用一个空格分隔,输入中不会有空行。您可以假定输入总是正确的,并且每个数据集只有一个唯一解。

输出

输出由每个输入数据集的一行组成。第一个值应该是最后一个居民从创建时刻开始计数的线性世界下降的时间。值应该打印为截断到字段13个字符宽的两个小数位。第二个值应该是居民的名字。值应使用单个空格字符分隔。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: