QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#839628 | #9901. 匹配 | fansizhe | 100 ✓ | 11ms | 9660kb | C++20 | 1.1kb | 2025-01-01 22:01:39 | 2025-01-01 22:01:40 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n;
char s[1000005],t[1000005];
int nxt[1000005];
int main(){
scanf("%s",s+1);
scanf("%s",t+1);
n=strlen(s+1);
int pos=0;
for(int i=1;i<=n;i++)if(t[i]=='1'){pos=i;break;}
if(!pos){
for(int i=1;i<=n+1;i++)putchar('a');puts("");
return 0;
}
nxt[pos]=n-pos+1;
for(int i=pos+1,mx=0,p=0;i<=n;i++){
if(i<=mx)nxt[i]=min(mx-i+1,nxt[pos+i-p]);
while(i+nxt[i]<=n&&s[i+nxt[i]]==s[pos+nxt[i]])nxt[i]++;
if(i+nxt[i]-1>mx)mx=i+nxt[i]-1,p=i;
}
int mn=n-pos+1;
for(int i=pos+1;i<=n;i++)if(t[i]=='1')mn=min(mn,nxt[i]);
// printf("mn=%d\n",mn);
nxt[1]=0;
for(int i=2,j=0;i<=mn;i++){
while(j&&s[pos+j]!=s[pos+i-1])j=nxt[j];
if(s[pos+j]==s[pos+i-1])j++;
nxt[i]=j;
}
for(int i=1,j=0;i<=n;i++){
while(j&&s[pos+j]!=s[i])j=nxt[j];
if(j<mn&&s[pos+j]==s[i])j++;
if(j==mn&&t[i-mn+1]!='1')return puts("-1"),0;
if(j==mn)j=nxt[j];
}
for(int i=1;i<=mn;i++)putchar(s[pos+i-1]);puts("");
return 0;
}
这程序好像有点Bug,我给组数据试试?
詳細信息
Pretests
Final Tests
Test #1:
score: 10
Accepted
time: 0ms
memory: 5740kb
input:
baaaaaaaaa 0111111110
output:
aa
result:
ok Correct output: valid string T.
Test #2:
score: 10
Accepted
time: 0ms
memory: 5812kb
input:
abbabbabab 0100100000
output:
bbab
result:
ok Correct output: valid string T.
Test #3:
score: 10
Accepted
time: 1ms
memory: 5788kb
input:
abbabaabba 0000000000
output:
aaaaaaaaaaa
result:
ok Correct output: valid string T.
Test #4:
score: 10
Accepted
time: 0ms
memory: 5856kb
input:
trtrttrtrttrttrtrttrtrttrttrtrttrttrtrttrtrttrttrtrtnrtrttrtkrtrttrttrtrttrtrttrttrtrttrttetrttrtrtt 0000000000001000000000000000000001000000000000000000000000000000000100000000000000000000000000000000
output:
ttrtrttrtrttrttrtrt
result:
ok Correct output: valid string T.
Test #5:
score: 10
Accepted
time: 1ms
memory: 5592kb
input:
bcljjabnbcljjabnbcljjagnbcljjabnbcljjabnbcljjabnbcljjahnbcljjabnbcljjabnbcljjabnbcljjabnbcljjabnbclj 0000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000000000
output:
-1
result:
ok Correct output: -1
Test #6:
score: 10
Accepted
time: 1ms
memory: 5592kb
input:
muumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummvumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummu...
output:
mmuumummumuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummuumummuummumuum
result:
ok Correct output: valid string T.
Test #7:
score: 10
Accepted
time: 1ms
memory: 5672kb
input:
mppmppmpmppmppmpmppmpmppmppmpmdpmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppm...
output:
mppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmp
result:
ok Correct output: valid string T.
Test #8:
score: 10
Accepted
time: 11ms
memory: 9612kb
input:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
output:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
result:
ok Correct output: valid string T.
Test #9:
score: 10
Accepted
time: 11ms
memory: 9660kb
input:
cnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaozn...
output:
znacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacna...
result:
ok Correct output: valid string T.
Test #10:
score: 10
Accepted
time: 7ms
memory: 9532kb
input:
bvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvov...
output:
bvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbv...
result:
ok Correct output: valid string T.
Extra Test:
score: 0
Extra Test Passed