QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#690096 | #8046. Rock-Paper-Scissors Pyramid | hhdhh | WA | 18ms | 6388kb | C++23 | 1.8kb | 2024-10-30 20:14:39 | 2024-10-30 20:14:41 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(LL i=(a);i<=(b);i++)
#define rept(i,a,ne) for(LL i=(a);i!=-1;i=ne[i])
#define per(i,a,b) for(LL i=(a);i>=(b);i--)
// #define endl '\n'
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<LL,LL> PII;
#define debug(x) cout<<#x<<" :"<<x<<endl;
ULL P=131;
const int N=4e5+10;
int a[N];
bool bo[N];
int num;
int op(char a,char b)
{
if(a==b)
return 0;
if(a=='R')
{
if(b=='S')
return 1;
else
return -1;
}
if(a=='S')
{
if(b=='R')
return -1;
else
return 1;
}
if(a=='P')
{
if(b=='R')
return 1;
else
return -1;
}
}
void slove()
{
string s;
cin>>s;
int n=s.size();
s='0'+s;
vector<char>ve;
rep(i,1,n)
{
ve.push_back(s[i]);
}
while(1)
{
int p=1;
if(ve.size()>1)
{
if(ve[ve.size()-2]==ve.back())
ve.pop_back(),p=0;
else if(op(ve[ve.size()-2],ve.back())>0)
ve.pop_back(),p=0;
}
if(ve.size()>2)
{
if(ve[ve.size()-3]==ve.back()&&op(ve.back(),ve[ve.size()-2])<0)
{
ve.pop_back();
ve.pop_back();
p=0;
}
}
if(p)
break;
}
if(num==1)
{
for(auto x:ve)
cout<<x;
}
cout<<ve.back()<<endl;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("test.in","r",stdin);
freopen("test.out","w",stdout);
#endif
LL t=1;
cin>>t;
num=t;
while(t--)
{
slove();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3760kb
input:
2 SPR SPSRRP
output:
S P
result:
ok 2 lines
Test #2:
score: -100
Wrong Answer
time: 18ms
memory: 6388kb
input:
1 RPPSRPPRSRSRRRPPSPRPRSRRSRRPPPRSPSSRRRSPPPRRRPRRRSSRPSSRPRRPSRRRPRSRPSRPSRRSPPRPRRRSPRSSSRPRRRPPSRRRRPPSRSRRRPRPRPRPPRRSRRPSRPPSRRRSRRSRRSPSRPRPSPSSRRSPSPSRPRRRPPRSRSPSPPRRPRSRPPSSSRPSPRRPSSSPRRSRRSRRSRSPSSSSRSSPPRRRRPRRRSPSRSPRSSPRSPSPRPRRRPPRPPRPPPSRRRRSSPRRSRRRPRRRSSRRPSRPPRSPPSPPPSPSPSPPSSPRRR...
output:
RPPSRPPRSRSRRRPPSPRPRSRRSRRPPPRSPSSRRRSPPPRRRPRRRSSRPSSRPRRPSRRRPRSRPSRPSRRSPPRPRRRSPRSSSRPRRRPPSRRRRPPSRSRRRPRPRPRPPRRSRRPSRPPSRRRSRRSRRSPSRPRPSPSSRRSPSPSRPRRRPPRSRSPSPPRRPRSRPPSSSRPSPRRPSSSPRRSRRSRRSRSPSSSSRSSPPRRRRPRRRSPSRSPRSSPRSPSPRPRRRPPRPPRPPPSRRRRSSPRRSRRRPRRRSSRRPSRPPRSPPSPPPSPSPSPPSSPRRRPR...
result:
wrong answer 1st lines differ - expected: 'R', found: 'RPPSRPPRSRSRRRPPSPRPRSRRSRRPPP...SPPRPRPPRPPSSRPRSPSRRRRRPPSRRPP'