记录编号 |
469838 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[UVa 10881] 蚂蚁 |
最终得分 |
100 |
用户昵称 |
烟雨 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
1.573 s |
提交时间 |
2017-11-03 20:36:41 |
内存使用 |
2.60 MiB |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,l,t,m,vis[100003],op;
char g;
class node
{public:
int a,xu;
char mmp;
}s[100003];
class nod
{public:
int uu;
char p;
}o[100003];
int i,j;
int cmp(nod x,nod y)
{
return x.uu<y.uu;
}
int cm(node x,node y)
{
return x.a<y.a;
}
int cp(node x,node y)
{
return x.xu<y.xu;
}
int main()
{
freopen ("Ants.in","r",stdin);
freopen ("Ants.out","w",stdout);
scanf("%d",&n);
op=n;
while(n--)
{//if(n>=1)continue;
scanf("%d%d%d",&l,&t,&m);
for(i=0;i<=100000;i++)vis[i]=0;
for(i=1;i<=100000;i++)
{
s[i].a=0;
s[i].xu=0;
s[i].mmp=g;
o[i].uu=0;
o[i].p=g;
}
for(i=1;i<=m;i++)
{
scanf("%d",&s[i].a);
cin>>s[i].mmp;
s[i].xu=i;
if(s[i].mmp=='R')
{
o[i].p='R';
o[i].uu=s[i].a+t;
vis[o[i].uu]++;
}
else
{
o[i].p='L';
o[i].uu=s[i].a-t;
if(o[i].uu>=0) vis[o[i].uu]++;
}
}
sort(o+1,o+m+1,cmp);
sort(s+1,s+m+1,cm);
for(i=1;i<=m;i++)
{
s[i].a=o[i].uu;
s[i].mmp=o[i].p;
}
sort(s+1,s+m+1,cp);
printf("Case #%d:\n",op-n);
//cout<<s[1].mmp<<endl;
for(i=1;i<=m;i++)
{
//cout<<i<<' ';
//cout<<m<<' '<<i<<' '<<s[i].a<<' '<<s[2].xu<<' '<<s[1].mmp<<endl;
if(s[i].a<0 || s[i].a>l)
{
cout<<"Fell off"<<endl;
}
else
{
printf("%d ",s[i].a);
if(vis[s[i].a]>1)
{
printf("Turning\n");
}
else
{
cout<<s[i].mmp<<endl;
}
}/**/
}
cout<<endl;
}
return 0;
}