QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#947181#9079. Hamming Distanceasaltfish#AC ✓1ms3840kbC++143.1kb2025-03-22 14:30:222025-03-22 14:30:23

Judging History

This is the latest submission verdict.

  • [2025-03-22 14:30:23]
  • Judged
  • Verdict: AC
  • Time: 1ms
  • Memory: 3840kb
  • [2025-03-22 14:30:22]
  • Submitted

answer

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <list>
using namespace std;
using ll = long long;
ll gcd(ll a, ll b)
{
    if (b == 0)
        return a;
    return gcd(b, a % b);
}
int T = 0;
void EachT(int p)
{
    cout << "Case " << p << ": ";
    string a, b, c;
    cin >> a >> b;
    ll dis = 0, now = 0;
    for (int i = 0;i < a.length();i++)
    {
        dis += (a[i] != b[i]);
    }
    for (int i = 0;i < a.length();i++)
    {
        if (a[i] == b[i])
        {
            c.push_back('a');
        }
        else
        {
            dis--;
            if (a[i] != 'a' && b[i] != 'a')
            {
                if (dis >= abs(now))
                    c.push_back('a');
                else
                {
                    if (now > 0)
                    {
                        c.push_back(a[i]);
                        now--;
                    }
                    else
                    {
                        c.push_back(b[i]);
                        now++;
                    }
                }
            }
            else if (a[i] == 'a')
            {
                if (abs(now - 1) <= dis)
                {
                    c.push_back('a');
                    now--;
                }
                else if (b[i] != 'b')
                {
                    if(abs(now)<=dis)
                        c.push_back('b');
                    else
                    {
                        c.push_back(b[i]);
                        now++;
                    }
                }
                else
                {
                    if (abs(now + 1) <= dis)
                    {
                        c.push_back('b');
                        now++;
                    }
                    else
                    {
                        c.push_back('c');
                    }
                }
            }
            else
            {
                if (abs(now + 1) <= dis)
                {
                    c.push_back('a');
                    now++;
                }
                else if (a[i] != 'b')
                {
                    if (abs(now) <= dis)
                        c.push_back('b');
                    else
                    {
                        c.push_back(a[i]);
                        now--;
                    }
                }
                else
                {
                    if (abs(now - 1) <= dis)
                    {
                        c.push_back('b');
                        now--;
                    }
                    else
                    {
                        c.push_back('c');
                    }
                }
            }
        }
    }
    cout << c << endl;
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t;
    cin >> t;
    ll num = 0;
    while (t--)
    {
        EachT(++num);
    }
    return 0;
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

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

input:

2
abc
acd
abandon
newyork

output:

Case 1: aaa
Case 2: aaaaark

result:

ok 6 tokens

Test #2:

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

input:

3
abcbacjasiodjadosasadasdada
abcbacjasiodjadosasadasdada
aba
abb
bbbbbbaaaaa
aaaaaabbbbb

output:

Case 1: aaaaaaaaaaaaaaaaaaaaaaaaaaa
Case 2: aac
Case 3: aaaaabaaaac

result:

ok 9 tokens

Test #3:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

1
aab
bba

output:

Case 1: abc

result:

ok 3 tokens

Test #4:

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

input:

1
aaaea
ccbdc

output:

Case 1: aabac

result:

ok 3 tokens

Test #5:

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

input:

100
y
m
tbqyaxbi
pqdqdayk
vdgccwsfo
wjgrckffn
hhka
bwqz
zcleuatejof
txpvaqmidwg
wbbl
fcuj
rfgjo
wfluk
ivimfoedco
lstisjtzfv
bhllf
puyfh
swuyfbufmz
swuyfbufmz
wvocvzngafbvnkfkbrcut
ldoxqnikmdtodzzzzmchs
lsfjwmjhszqiqhmwcrsaftrzvebgwhydynoiotqhqkrqhgxxuf
crvapaebmmxljfiiuoiiomnxhwwxgpulltbdwflgxgpezgc...

output:

Case 1: a
Case 2: aaaaaaaa
Case 3: aaaaaaaaa
Case 4: aaab
Case 5: aaaaaaaaaaa
Case 6: aaaa
Case 7: aaaaa
Case 8: aaaaaaaaaa
Case 9: aaaaa
Case 10: aaaaaaaaaa
Case 11: aaaaaaaaaaaaaaaaaaaas
Case 12: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaua
Case 13: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxj
...

result:

ok 300 tokens

Extra Test:

score: 0
Extra Test Passed