QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#608132 | #7332. Dissertation | _Sherbiny | WA | 451ms | 113828kb | C++20 | 1.2kb | 2024-10-03 18:58:12 | 2024-10-03 18:58:12 |
Judging History
answer
// Author: _Sherbiny
#include "bits/stdc++.h"
#ifdef DBG
#include "./debug.h"
#else
#define dbg(...)
#endif
using namespace std;
typedef long long ll;
#define endl '\n'
///////////////////////////////////
const int oo = 2e9, N = 1001;
vector<array<int, 26>> nxt;
string a, b;
int n, m;
int dp[N][N], vis[N][N], id = 0;
int go(int i, int rem) {
if (!rem) return 0;
if (i < 0) return n;
int &res = dp[i][rem];
if (vis[i][rem] == id) return res;
vis[i][rem] = id;
res = go(i - 1, rem);
int ind = go(i - 1, rem - 1);
ind = nxt[ind + 1][b[i] - 'a'];
return res = min(ind, res);
}
void magic() {
++id;
cin >> a >> b;
n = a.size(), m = b.size();
nxt.assign(n + 2, {});
nxt[n].fill(n);
nxt[n + 1].fill(n);
for (int i = n - 1; i >= 0; --i) {
nxt[i] = nxt[i + 1];
nxt[i][a[i] - 'a'] = i;
}
for (int sz = m; sz >= 0; --sz) {
if (go(m - 1, sz) < n) {
cout << sz << endl;
return;
}
}
}
signed main() {
ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
cin >> t;
while (t--) magic();
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 5724kb
input:
1 abcdefghijklmnopqrstuvwxyz bbddee
output:
3
result:
ok 1 number(s): "3"
Test #2:
score: -100
Wrong Answer
time: 451ms
memory: 113828kb
input:
4106 ababbbab babaa aabaaaaa bbbab aababaab bbaab aababbba aaaaa aabbabbb baabb aabababb abbbb aabbabab babaa aaabbaaa aaabb aaababba ababb aabbbaba abaaa abbbaaba bbbab aaaababb aabab abbbaaba abbba abbbabbb bbbaa aaabaaaa aaabb abbababb baaaa aaaababb babbb abaaaaab aabaa ababaaab aabaa abbbabaa b...
output:
4 2 5 3 4 5 4 4 5 4 5 5 4 4 3 3 4 4 4 4 4 5 5 4 4 5 3 3 5 4 4 3 3 5 4 5 4 5 3 2 5 3 3 3 4 4 4 4 4 4 3 4 5 4 4 4 4 5 5 4 4 4 4 5 3 4 5 4 4 4 4 4 5 4 4 4 3 5 4 5 5 5 4 5 4 5 5 4 3 4 4 5 4 1 4 3 3 3 3 4 3 4 4 3 4 3 3 5 5 4 4 4 4 2 4 4 3 3 3 5 3 5 4 5 4 4 4 4 3 4 5 3 4 4 4 4 4 5 4 3 4 4 4 4 3 4 5 4 4 4 ...
result:
wrong answer 4th numbers differ - expected: '4', found: '3'