题目链接:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1822
关键思路:
是UVa 10714 - Ants的加强版本
关键在于理解,不管走多久,蚂蚁的相对顺序都是不变的,还有两只蚂蚁相碰之后,看起来就和“穿过去”一样。
而最终每只蚂蚁的方向,就和每只蚂蚁按照原来方向一直走T秒之后,这时候从左到右每只蚂蚁的方向,就是初始时从左到右的每只蚂蚁T秒后的方向。
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
const int maxn = 10000+10;
int L, T, n;
struct node{
int len;
int dir;
int id;
int rank;
friend bool operator<(const node&a,const node&b){
return a.len < b.len;
}
}arr[maxn];
struct Rank{
int len;
int dir;
friend bool operator < (const Rank&a,const Rank&b){
return a.len < b.len;
}
}tmp[maxn];
char new_dir[maxn];
map<int,int>mp;
bool cmp(const node&a,const node&b){
return a.id < b.id;
}
int main(){
int nCase, cas=1;
char ch[2];
scanf("%d", &nCase);
while(nCase--){
scanf("%d%d%d",&L, &T, &n);
for(int i=0; i<n; ++i){
scanf("%d %s",&arr[i].len, ch);
arr[i].id = i;
if(ch[0]=='R') arr[i].dir = 1;
else arr[i].dir = -1;
}
sort(arr, arr+n);
mp.clear();
for(int i=0; i<n; ++i){
arr[i].rank = i;
tmp[i].len = arr[i].len+arr[i].dir*T;
tmp[i].dir = arr[i].dir;
if(mp.find(tmp[i].len) == mp.end()){
mp[tmp[i].len] = 1;
}else{
++mp[tmp[i].len];
}
}
sort(tmp, tmp+n);
for(int i=0; i<n; ++i)
new_dir[i] = tmp[i].dir<0?'L':'R';
for(int i=0; i<n; ++i)
arr[i].len = tmp[i].len;
sort(arr, arr+n, cmp);
printf("Case #%d:\n", cas++);
for(int i=0; i<n; ++i){
if(arr[i].len < 0 || arr[i].len > L)
puts("Fell off");
else if(mp[arr[i].len] > 1)
printf("%d Turning\n", arr[i].len);
else
printf("%d %c\n", arr[i].len, new_dir[arr[i].rank]);
}
puts("");
}
return 0;
}
分享到:
相关推荐
使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用KafkaStreams和SpringBoot实现微服务Saga分布式事务-Piotr.pdf使用Kafka...
gorski-piotr.github.io
全栈开发人员分配-Piotr Dobrasiewicz 如果您对作业有任何疑问,请告诉我: 电子邮件: 电话:+48 516 896 261 如何运行程序: MySQL 下载并安装MySQL。 可以从网站( )获得。 打开MySQL CommandLine客户端...
piotr-dollar-工具箱 计算机视觉原始源代码可以在以下位置下载: 这个工具箱将帮助我们找到: STIP(时空兴趣点) 特征提取,包括 HOG、HOF、APR、WW 词袋(K-Means) 这是处理一些计算机视觉问题的非常流行的工具箱...
piotr's matlab toolbox
Piotr's Computer Vision Matlab Toolbox国外网站下载太慢了,官网下载了供大家使用
Piotr's Image & Video Matlab Toolbox
Its purpose is to complement, not replace, Matlab's Image Processing Toolbox, and in fact it requires that the Matlab Image Toolbox be installed. Emphasis has been placed on code efficiency and code ...
确实能用的piotr_toolbox工具包,在网上找了很多版本的piotr_toolbox工具包,大部分只能检测,不能训练模型,本人综合网上朋友的操作经验,终于调试成功,希望能对诸位有所帮助
Piotr's Image & Video Matlab Toolbox:侧重物体识别
Project-5-milosz-piotr-justyna-lukasz
piotr-szyperek-new-kodilla-java
BDD - w praktyce na przykładzie Django i behave - Piotr Stankiewicz 和 Jakub Mucha, SaltStack - innowacyjne podejście do zarządzania infrastrukturą IT - Piotr Szwed, Konkurs 。 更多信息: :
------ STM32F4 Discovery WAVE(.wav)记录器------ Piotr Jakubowski和Filip Skurniak 我们基于ST示例:Xenovacivus( 和STM32DiscoveryVCP项目( ) 您可以使用STM32F4 Discovery在计算机上记录和保存文件。 ...
深度学习工具箱;pdollar工具箱,需要编译
matlab的pitor工具箱,其中有hog等函数,安装到MATLAB中可用
BCI-METEOR-PJ-WW-KCK-2POBIERZ REPOZYTORIUM->OTWÓRZ文件夹“ GRA”-> URUCHOM GRA.py Piotr Jaworski和Waldemar Wojna。 KomunikacjaCzłowiek-Komputer。 “ BCI流星”。
piotr_toolbox,作者网址打不开了,包括视频和图像的处理,关键是seq视频文件找了很多工具都无法打开,该工具可以打开。
Piotr Żurkowski - 受波兹南理工大学嵌入式系统课程的启发。 执照 版权所有 2014 Amadeusz Juskowiak 根据 Apache 许可,版本 2.0(“许可”)获得许可; 除非遵守许可,否则您不得使用此文件
-Piotr的图像和视频Matlab工具箱 应用和保存MATLAB中的配色方案。 - :robot_face: MatLab / Octave流行的机器学习算法示例,并解释了代码示例和数学 视频中背景建模和减法的低秩和稀疏工具 机器人工具箱 用于...