QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#865070 | #9925. LR String | piggy123# | WA | 0ms | 5852kb | C++17 | 3.6kb | 2025-01-21 14:30:30 | 2025-01-21 14:30:39 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll nxtL[500005],nxtR[500005],lstL,lstR;
int main() {
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
ll t;
cin >> t;
while (t--) {
string s;
cin >> s;
ll n=s.length();
s='*'+s;
nxtL[n+1]=nxtR[n+1]=n+1;
lstL=lstR=n+1;
for (ll i=n; i>=0; i--) {
nxtL[i]=lstL;
nxtR[i]=lstR;
if (i>0) {
if (s[i]=='L')lstL=i;
if (s[i]=='R')lstR=i;
}
}
ll q;
cin >> q;
for (ll i=1; i<=q; i++) {
string t;
cin >> t;
if (t.size()==1) {
if (n==1&&s[1]==t[0]) {
cout<<"Yes\n";
continue;
}
cout<<"No\n";
continue;
}
ll ps=0,st=0;
if (t[0]=='R') {
if (s[1]=='R') {
ps=1,st=1;
} else {
cout<<"NO\n";
continue;
}
}
for (ll j=st; j+1<t.size(); j++) {
if (t[j]=='L')ps=nxtL[ps];
else ps=nxtR[ps];
if (ps>n)break;
}
if (ps<=n) {
if (t.size()>1) {
if (t.back()=='L') {
if (s.back()=='L') {
if (ps<n) {
ps=n;
} else {
ps=n+1;
}
} else {
ps=n+1;
}
} else {
ps=nxtR[ps];
}
}
}
if (ps>n) {
cout<<"NO\n";
} else {
cout<<"YES\n";
}
}
}
return 0;
}
/*
1
LRLRLRL
2
LRLRLRL
LRLRLR
■■■■■ ■■ ■■■ ■■■ ■ ■ ■ ■■■■ ■■■■
■ ■■ ■■ ■ ■■ ■ ■■ ■ ■ ■■ ■ ■■ ■■ ■
■ ■ ■■ ■ ■ ■ ■ ■ ■ ■■■ ■■ ■■ ■ ■■
■ ■ ■■ ■ ■ ■ ■ ■ ■ ■■ ■ ■■ ■■
■ ■ ■■ ■ ■ ■■ ■■ ■■ ■
■ ■■ ■■ ■ ■■■ ■ ■■■ ■■ ■■ ■■ ■■■
■■■■■ ■■ ■ ■ ■ ■ ■■ ■■ ■■ ■■
■ ■■ ■ ■ ■ ■ ■■ ■■ ■■ ■
■ ■■ ■ ■ ■ ■ ■■ ■■ ■ ■ ■■
■ ■■ ■■ ■■ ■■ ■■ ■■ ■■ ■ ■■ ■■
■ ■■ ■■■■ ■■■■ ■■ ■■ ■■■■■■ ■■■■
*/
詳細信息
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 5852kb
input:
2 RRLLRRLL 4 LLLLL LLR LRLR R RLLLLLL 3 LLLLL RL RRL
output:
NO YES NO No YES YES NO
result:
wrong answer 4th lines differ - expected: 'YES', found: 'No'