QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#163651#4275. Escape Sequencesucup-team004#WA 2ms3876kbC++201.7kb2023-09-04 13:33:382023-09-04 13:33:38

Judging History

This is the latest submission verdict.

  • [2023-09-04 13:33:38]
  • Judged
  • Verdict: WA
  • Time: 2ms
  • Memory: 3876kb
  • [2023-09-04 13:33:38]
  • Submitted

answer

#include <bits/stdc++.h>

using i64 = long long;

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
    std::string s, t;
    std::cin >> s >> t;
    
    int n = s.size(), m = t.size();
    
    int k = 0;
    while (m > 0) {
        std::vector<int> f(m + 1);
        for (int i = 1, j = 0; i < m; i++) {
            while (j && t[i] != t[j]) {
                j = f[j];
            }
            j += (t[i] == t[j]);
            f[i + 1] = j;
        }
        bool match = false;
        for (int i = 0, j = 0; i < n; i++) {
            while (j && s[i] != t[j]) {
                j = f[j];
            }
            j += (s[i] == t[j]);
            if (j == m) {
                match = true;
                break;
            }
        }
        if (match) {
            break;
        }
        int p = -1;
        bool ok = true;
        for (int i = 0; i < m; i++) {
            if (t[i] == 'b') {
                if (p == -1) {
                    p = i % 2;
                } else if (p != i % 2) {
                    ok = false;
                    break;
                }
            }
        }
        if (!ok) {
            k = -1;
            break;
        }
        if (p == -1) {
            p = 1;
        }
        std::string nt;
        int i;
        for (i = p; i < m; i += 2) {
            nt += t[i];
        }
        if (i == m) {
            s.pop_back();
            n--;
        }
        if (t == nt) {
            k = -1;
            break;
        }
        t = nt;
        m = t.size();
        k++;
    }
    
    std::cout << k << "\n";
    
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 3872kb

input:

b
ab

output:

1

result:

ok 1 number(s): "1"

Test #2:

score: 0
Accepted
time: 2ms
memory: 3876kb

input:

ababa
bab

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: 0
Accepted
time: 2ms
memory: 3840kb

input:

a
b

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

abbb
baa

output:

2

result:

ok 1 number(s): "2"

Test #5:

score: 0
Accepted
time: 2ms
memory: 3636kb

input:

abaabb
abaab

output:

0

result:

ok 1 number(s): "0"

Test #6:

score: 0
Accepted
time: 2ms
memory: 3644kb

input:

aaab
aaba

output:

-1

result:

ok 1 number(s): "-1"

Test #7:

score: 0
Accepted
time: 2ms
memory: 3636kb

input:

bbbabbbbbbbabbabbbbaaaaaaaabbabaaabababaaababbbabaabbabbaababbabbbbbbbbbabbabbabbbbabaababaaaaa
bbaabbaabbbaaaaabbaaaaaabbabbaababababbbbabaabbbabbaaaabababaabbbababbabbbbaabbbbbbb

output:

-1

result:

ok 1 number(s): "-1"

Test #8:

score: 0
Accepted
time: 2ms
memory: 3528kb

input:

abbbbbabbbbabbbbaabbbaabaaabab
abababbabaaabbaaaaabbbabbaabbaaabaabababbb

output:

-1

result:

ok 1 number(s): "-1"

Test #9:

score: -100
Wrong Answer
time: 1ms
memory: 3612kb

input:

bbaabaabaaab
aaaaaaaaaaaaaaa

output:

3

result:

wrong answer 1st numbers differ - expected: '2', found: '3'