QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#839628#9901. 匹配fansizhe100 ✓11ms9660kbC++201.1kb2025-01-01 22:01:392025-01-01 22:01:40

Judging History

This is the latest submission verdict.

  • [2025-01-01 22:01:40]
  • Judged
  • Verdict: 100
  • Time: 11ms
  • Memory: 9660kb
  • [2025-01-01 22:01:39]
  • Submitted

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