#include<string>
#include<deque>
#include<stack>
bool isallsame(deque<char> d){
char a=d[0];
for(int i=1;i<d.size();i++){
if(d[i]!=a){
return 0;
}
}
return 1;
}
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 求出最终获胜帮派的名称
* @param s string字符串
* @return string字符串
*/
string predictVictory(string s) {
// write code here
deque<char>d;
for(int i=0;i<s.size();i++){
d.push_back(s[i]);
}
while(!d.empty()&&!isallsame(d)){
if(d.front()=='D'){
d.push_back(d.front());
d.pop_front();
stack<char>sta;
while(!d.empty()&&d.front()=='D'){
sta.push(d.front());
d.pop_front();
}
d.pop_front();//弹劾R
while(!sta.empty()){
d.push_front(sta.top());
sta.pop();
}
}
else if(d.front()=='R'){
d.push_back(d.front());
d.pop_front();
stack<char>sta;
while(!d.empty()&&d.front()=='R'){
sta.push(d.front());
d.pop_front();
}
d.pop_front();//弹劾D
while(!sta.empty()){
d.push_front(sta.top());
sta.pop();
}
}
}
// char returnc=d.front();
// string stringc=ctos()
string s1;
if(d.front()=='D'){
s1="Dark";
}
else{
s1="Red";
}
return s1;
}
};