QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#246570#7618. Pattern SearchDateTreeWA 1ms3448kbC++171.8kb2023-11-10 22:16:222023-11-10 22:16:23

Judging History

你现在查看的是最新测评结果

  • [2023-11-10 22:16:23]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3448kb
  • [2023-11-10 22:16:22]
  • 提交

answer

#include <bits/stdc++.h>

int main() {
    //freopen("in", "r", stdin);
    //std::ios::sync_with_stdio(false);
    //std::cin.tie(nullptr);
    int ttt;
    std::cin >> ttt;
    while (ttt--) {
        std::string x, y;
        std::cin >> x >> y;
        std::vector<int> s(26), t(26);
        for (auto &c: x)
            ++s[c - 'a'];
        for (auto &c: y)
            ++t[c - 'a'];
        bool flag = 0;
        for (int i = 0; i < 26; ++i) {
            if (s[i] < t[i]) {
                puts("0");
                flag = 1;
                break;
            }
        }
        if (flag)
            continue;
        int min = std::min(x.length(), y.length());
        int ans = 1;
        for (int k = 1; k <= min + 1; ++k) {
            bool f = 0;
            int tmp = 1e9 + 7;
            for (int i = 0; i < 26; ++i) {
                if (!t[i])
                    continue;
                if (t[i] + 1 < k) {
                    f = 1;
                    break;
                }
                int p, q;
                if (k == 1) {
                    p = t[i];
                } else {
                    p = t[i] / (k - 1);
                    q = t[i] % (k - 1);
                    if (p < q) {
                        tmp = -1;
                        break;
                    }
                    int z = (p - q) / k;
                    p += z;
                    q += z * (k - 1);
                }
                tmp = std::min(tmp, 1 + (s[i] - t[i]) / p);
                //printf("tmp %d\n", tmp);
            }
            if (!f) {
                //std::cout << k << ' ' << tmp << std::endl;
                ans = std::max(ans, tmp);
            } else {
                break;
            }
        }
        std::cout << ans << std::endl;
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

2
bajkaaall aal
abca cba

output:

2
1

result:

ok 2 number(s): "2 1"

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3404kb

input:

16
a a
a b
b a
aa a
ab aa
ab b
ab c
aaz az
abcde edcba
aaaaaaaaaaaabbb aaaaaaaaabb
aaaaaazz az
aaaaaaaaaz zzzzz
gggggggggggggggggggge ggggeeee
hyphyphyphyphyphyphyphyphyphyphyphyp eeeeeeeeee
hyphyphyphyphyphyphyphyphyphyphyphype eeteeteeteet
aaaabbbbbbcccccccc aaabbbbbcccccc

output:

1
0
0
2
0
1
0
1
1
1
2
0
0
0
0
1

result:

wrong answer 10th numbers differ - expected: '2', found: '1'