AC代码:
#include<bits/stdc++.h>
using namespace std;
int x,ta=0,tb=0;
char p;
bool n[2000005];
queue<int> aa;
queue<int> bb;
queue<int> t;
int main(){
memset(n,0,sizeof(n));
cin>>x;
p=getchar();
for(int i=1;i<=x;i++){
p=getchar();
if(p=='D'){
aa.push(i);
t.push(i);
ta++;
}
if(p=='R'){
bb.push(i);
t.push(-i);
tb++;
}
}
p=getchar();
while(ta!=0&&tb!=0){
if(n[abs(t.front())]==1){
t.pop();
continue;
}
int k=t.front();
t.pop();
if(k>0){
n[abs(bb.front())]=1;
bb.pop();
tb--;
aa.pop();
aa.push(k);
}
else{
n[aa.front()]=1;
aa.pop();
ta--;
bb.pop();
bb.push(k);
}
t.push(k);
}
// cout<<ta<<" "<<tb<<endl;
if(ta==0) cout<<"R"<<endl;
else cout<<"D"<<endl;
return 0;
}