QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#837293 | #9901. 匹配 | infCraft | 100 ✓ | 8ms | 11416kb | C++17 | 1.9kb | 2024-12-29 21:38:12 | 2024-12-29 21:38:13 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define Yes cout << "Yes\n"
#define No cout << "No\n"
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define fori(x,y) for(int i=(x);i<=(int)(y);++i)
#define forj(x,y) for(int j=(x);j<=(int)(y);++j)
#define fork(x,y) for(int k=(x);k<=(int)(y);++k)
#define debug(x) cerr << #x << " = " << x << endl
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll MOD = 998244353;
ll qpow(ll a,ll p) {ll res=1; while(p) {if (p&1) {res=res*a%MOD;} a=a*a%MOD; p>>=1;} return res;}
vector<int> z_function(const string& s) {
int n = (int)s.length();
vector<int> z(n);
for (int i = 1, l = 0, r = 0; i < n; ++i) {
if (i <= r && z[i - l] < r - i + 1) {
z[i] = z[i - l];
}
else {
z[i] = max(0, r - i + 1);
while (i + z[i] < n && s[z[i]] == s[i + z[i]]) ++z[i];
}
if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1;
}
return z;
}
void solve() {
string str;
cin >> str;
string p;
cin >> p;
int n = str.length();
int pos = -1;
for (int i=n-1;i>=0;--i) {
if (p[i] == '1') {
pos = i;
break;
}
}
if (pos == -1) {
cout << str << "a" << endl;
return;
}
string pre = str.substr(pos);
string zz = pre+"#"+str;
vector<int> z = z_function(zz);
int ma = pre.length(), mi = 0;
fori(pre.length()+1, zz.length()-1) {
int j = i-pre.length()-1;
// debug(z[i]);
if (p[j] == '0') mi = max(mi, z[i]);
else ma = min(ma, z[i]);
}
// debug(ma);
// debug(mi);
if (ma<=mi) cout << -1 << endl;
else cout << pre.substr(0, mi+1) << endl;
}
signed main() {
IOS;
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
詳細信息
Pretests
Final Tests
Test #1:
score: 10
Accepted
time: 0ms
memory: 3556kb
input:
baaaaaaaaa 0111111110
output:
aa
result:
ok Correct output: valid string T.
Test #2:
score: 10
Accepted
time: 0ms
memory: 3532kb
input:
abbabbabab 0100100000
output:
bb
result:
ok Correct output: valid string T.
Test #3:
score: 10
Accepted
time: 0ms
memory: 3620kb
input:
abbabaabba 0000000000
output:
abbabaabbaa
result:
ok Correct output: valid string T.
Test #4:
score: 10
Accepted
time: 0ms
memory: 3592kb
input:
trtrttrtrttrttrtrttrtrttrttrtrttrttrtrttrtrttrttrtrtnrtrttrtkrtrttrttrtrttrtrttrttrtrttrttetrttrtrtt 0000000000001000000000000000000001000000000000000000000000000000000100000000000000000000000000000000
output:
ttrtrttrtr
result:
ok Correct output: valid string T.
Test #5:
score: 10
Accepted
time: 0ms
memory: 3592kb
input:
bcljjabnbcljjabnbcljjagnbcljjabnbcljjabnbcljjabnbcljjahnbcljjabnbcljjabnbcljjabnbcljjabnbcljjabnbclj 0000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000000000
output:
-1
result:
ok Correct output: -1
Test #6:
score: 10
Accepted
time: 0ms
memory: 3552kb
input:
muumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummvumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummu...
output:
mmuumummumuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumu
result:
ok Correct output: valid string T.
Test #7:
score: 10
Accepted
time: 0ms
memory: 3760kb
input:
mppmppmpmppmppmpmppmpmppmppmpmdpmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppm...
output:
mppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmpp
result:
ok Correct output: valid string T.
Test #8:
score: 10
Accepted
time: 8ms
memory: 11232kb
input:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
output:
falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...
result:
ok Correct output: valid string T.
Test #9:
score: 10
Accepted
time: 8ms
memory: 11416kb
input:
cnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaozn...
output:
znacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacna...
result:
ok Correct output: valid string T.
Test #10:
score: 10
Accepted
time: 0ms
memory: 11164kb
input:
bvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvov...
output:
bvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbv...
result:
ok Correct output: valid string T.
Extra Test:
score: 0
Extra Test Passed