QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#827798 | #9901. 匹配 | TaoRan | 100 ✓ | 20ms | 36976kb | C++14 | 1.4kb | 2024-12-23 10:06:46 | 2024-12-23 10:06:56 |
Judging History
answer
#include<bits/stdc++.h>
#define pt putchar
using namespace std;
typedef long long ll;
const int N=1e6+5;
const int mod1=998244353,mod2=1e9+9,B=517;
int read();
void write(int x);
int n,p;
char s[N],t[N];
ll pw1[N],pw2[N],h1[N],h2[N];
bool check(int l){
for(int i=1;i+l-1<=n;i++){
int eq=(((h1[i+l-1]-h1[i-1])*pw1[p]-(h1[p+l-1]-h1[p-1])*pw1[i])%mod1)+(((h2[i+l-1]-h2[i-1])*pw2[p]-(h2[p+l-1]-h2[p-1])*pw2[i])%mod2)==0;
if(eq==1&&t[i]=='0'){
return 0;//duan l
}
if(eq==0&&t[i]=='1'){
return 1;//chang l
}
}
for(int i=p;i<=p+l-1;i++){
pt(s[i]);
}
exit(0);
return 1;
}
int main(){
scanf("%s",s+1);
scanf("%s",t+1);
p=n=strlen(s+1);
pw1[0]=pw2[0]=1;
for(int i=1;i<=n;i++){
pw1[i]=pw1[i-1]*B%mod1;
pw2[i]=pw2[i-1]*B%mod2;
h1[i]=(h1[i-1]+s[i]*pw1[i])%mod1;
h2[i]=(h2[i-1]+s[i]*pw2[i])%mod2;
}
while(p>=1){
if(t[p]=='1'){
break;
}
else if(p==1){
puts("iakioi");return 0;
}
p--;
}
int l=1,r=n-p+1;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)){
r=mid-1;
}
else{
l=mid+1;
}
}
puts("-1");
return 0;
}
int read(){
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-'){
f=-1;
}
c=getchar();
}
while('0'<=c&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
void write(int x){
if(x<0){
pt('-');
x=-x;
}
if(x>9){
write(x/10);
}
pt(x%10+'0');
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Pretests
Final Tests
Test #1:
score: 10
Accepted
time: 1ms
memory: 9764kb
input:
baaaaaaaaa 0111111110
output:
aa
result:
ok Correct output: valid string T.
Test #2:
score: 10
Accepted
time: 1ms
memory: 9900kb
input:
abbabbabab 0100100000
output:
bba
result:
ok Correct output: valid string T.
Test #3:
score: 10
Accepted
time: 0ms
memory: 9828kb
input:
abbabaabba 0000000000
output:
iakioi
result:
ok Correct output: valid string T.
Test #4:
score: 10
Accepted
time: 1ms
memory: 9776kb
input:
trtrttrtrttrttrtrttrtrttrttrtrttrttrtrttrtrttrttrtrtnrtrttrtkrtrttrttrtrttrtrttrttrtrttrttetrttrtrtt 0000000000001000000000000000000001000000000000000000000000000000000100000000000000000000000000000000
output:
ttrtrttrtrttrttrt
result:
ok Correct output: valid string T.
Test #5:
score: 10
Accepted
time: 1ms
memory: 9964kb
input:
bcljjabnbcljjabnbcljjagnbcljjabnbcljjabnbcljjabnbcljjahnbcljjabnbcljjabnbcljjabnbcljjabnbcljjabnbclj 0000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000000000
output:
-1
result:
ok Correct output: -1
Test #6:
score: 10
Accepted
time: 1ms
memory: 9928kb
input:
muumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummvumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummu...
output:
mmuumummumuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuum
result:
ok Correct output: valid string T.
Test #7:
score: 10
Accepted
time: 1ms
memory: 9956kb
input:
mppmppmpmppmppmpmppmpmppmppmpmdpmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppm...
output:
mppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmp
result:
ok Correct output: valid string T.
Test #8:
score: 10
Accepted
time: 14ms
memory: 36764kb
input:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
output:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
result:
ok Correct output: valid string T.
Test #9:
score: 10
Accepted
time: 18ms
memory: 36976kb
input:
cnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaozn...
output:
znacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacna...
result:
ok Correct output: valid string T.
Test #10:
score: 10
Accepted
time: 20ms
memory: 36944kb
input:
bvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvov...
output:
bvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbv...
result:
ok Correct output: valid string T.
Extra Test:
score: 0
Extra Test Passed