#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1e4+10;
struct ant{
int id,p,dir;
bool operator <(const ant &x)const{
return p<x.p;
}
}before[maxn],after[maxn];
const char name[][10] = {"L","Turning","R"};
int a[maxn];
int L,T,n;
int kase = 0;
void init(){
int p,dir;
char ch;
scanf("%d %d %d",&L,&T,&n);
for (int i=0; i<n; i++){
scanf("%d %c",&p,&ch);
if (ch=='L') dir = -1; else dir = 1;
before[i] = (ant){i,p,dir};
after[i] = (ant){0,p+T*dir,dir};
}
}
int main(){
int t;
scanf("%d",&t);
while (t--){
init();
sort(before,before+n);
for (int i=0; i<n; i++) a[before[i].id] = i;
sort(after,after+n);
for(int i=0; i<n-1; i++) if (after[i].p==after[i+1].p) after[i].dir = after[i+1].dir = 0;
printf("Case #%d:\n",++kase);
for (int i=0; i<n; i++){
int x = a[i];
if (after[x].p<0 || after[x].p>L) {printf("Fell off\n"); continue;}
else printf("%d %s\n",after[x].p,name[after[x].dir+1]);
}
printf("\n");
}
return 0;
}
UVA10881
最新推荐文章于 2019-05-25 12:46:00 发布