QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#544176#4275. Escape SequenceskuaiqujuanTL 0ms3692kbC++141.5kb2024-09-02 11:12:202024-09-02 11:12:20

Judging History

This is the latest submission verdict.

  • [2024-09-02 11:12:20]
  • Judged
  • Verdict: TL
  • Time: 0ms
  • Memory: 3692kb
  • [2024-09-02 11:12:20]
  • Submitted

answer

#include <bits/stdc++.h>

int main() {
    std::cin.tie(nullptr) -> sync_with_stdio(false);
    
    std::string s, t;
    std::cin >> s >> t;
    
    int n = (int)s.size(), m = (int)t.size();
    
    int ans = 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 = t[j];
            }
            j += (s[i] == t[j]);
            if (j == m) {
                match = true;
                break;
            }
        }
        if (match) {
            break;
        }

        int p = -1;
        for (int i = 0; i < m; i++) {
            if (t[i] == 'b') {
                if (p == -1) {
                    p = i % 2;
                } else if (i % 2 != p) {
                    std::cout << -1;
                    exit(0);
                }
            }
        }
        if (p == -1) {
            p = 1;
        }

        std:: string nt;
        int i;
        for (i = p; i < m; i += 2) {
            nt += t[i];
        }

        if (i == m) {
            n = s.size() - 1;
        }

        if (nt == t) {
            std::cout << -1;
            exit(0);
        }

        t = nt;
        m = t.size();
        ans++;
    }

    std::cout << ans;
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3576kb

input:

b
ab

output:

1

result:

ok 1 number(s): "1"

Test #2:

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

input:

ababa
bab

output:

0

result:

ok 1 number(s): "0"

Test #3:

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

input:

a
b

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

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

input:

abbb
baa

output:

2

result:

ok 1 number(s): "2"

Test #5:

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

input:

abaabb
abaab

output:

0

result:

ok 1 number(s): "0"

Test #6:

score: -100
Time Limit Exceeded

input:

aaab
aaba

output:


result: