#include"iostream"
#include"algorithm"
#include"vector"
#include"queue"
#include"map"
#include"cstdio"
#include"string"
#include"stack"
#include"set"
#include"cstring"
#include"cmath"
using namespace std;
struct node
{
int num,pos;
char d[10];
};
bool cmp(node a,node b)
{
return a.pos<b.pos;
}
int main()
{
int r,h=1;
scanf("%d",&r);
while(r--)
{
int a,l,s,n[10005];
map<int,int>v;
node m[10005];
memset(v,0,sizeof(v));
scanf("%d%d%d",&a,&l,&s);
for(int j=0;j<s;j++)
{
m[j].num=j;
scanf("%d%s",&m[j].pos,&m[j].d);
}
sort(m,m+s,cmp);
for(int i=0;i<s;i++)
{
n[m[i].num]=i;
if(m[i].d[0]=='R')
{
m[i].pos+=l;
v[m[i].pos]++;
}
else {m[i].pos-=l;v[m[i].pos]++;}
}
printf("Case #%d:\n",h++);
sort(m,m+s,cmp);
for(int j=0;j<s;j++)
{
int t=n[j];
if(m[t].pos<0||m[t].pos>a)
{
printf("Fell off\n");
continue;
}
printf("%d ",m[t].pos);
if(v[m[t].pos]>=2)
printf("Turning\n");
else printf("%c\n",m[t].d[0]);
}
printf("\n");
}
return 0;
}
uva-10881
最新推荐文章于 2019-12-18 20:07:00 发布