Submission details
Task:Babaza Game
Sender:aalto26am_024
Submission time:2026-08-31 17:58:20 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#20.06 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.06 sdetails
#50.06 sdetails
#60.06 sdetails
#70.06 sdetails
#80.06 sdetails
#90.06 sdetails
#100.06 sdetails
#110.06 sdetails
#120.06 sdetails
#130.06 sdetails
#140.06 sdetails

Code

from string import ascii_uppercase


s1 = input()
s2 = input()
n = len(s1)
print(s1)

s1 += ' '
s2 += ' '

wrong_idx = []

for i in range(len(s1)):
    if s1[i] != s2[i]:
        wrong_idx.append(i)

def find_char_not (strs):
    for c in ascii_uppercase:
        if c not in strs:
            return c

intermediate = s1[:]
wrong_idx.append(n)
i = 0
while i < len(wrong_idx):
    if i < len(wrong_idx) - 1 and wrong_idx[i+1] - wrong_idx[i] > 1:
        # intermediate[wrong_idx[i]] = s2 [wrong_idx[i]]
        intermediate = intermediate[:wrong_idx[i]] + s2 [wrong_idx[i]] + intermediate[wrong_idx[i] + 1:]

        i += 1
    elif i < len(wrong_idx) - 1 and s2[wrong_idx[i]] != s1[wrong_idx[i + 1]]:
        # intermediate[wrong_idx[i]] = s2 [wrong_idx[i]]
        intermediate = intermediate[:wrong_idx[i]] + s2 [wrong_idx[i]] + intermediate[wrong_idx[i] + 1:]

        i += 1
    elif i < len(wrong_idx) - 1 and s2[wrong_idx[i]] == s1[wrong_idx[i + 1]]:
        if s2[wrong_idx[i + 1]] == s1[wrong_idx[i]]:
            strs = []
            strs.append(s2[wrong_idx[i]])
            strs.append(s1[wrong_idx[i]])
            if i + 2 < len(wrong_idx):
                strs.append(s2[wrong_idx[i + 2]])
                strs.append(s1[wrong_idx[i + 2]])
            # intermediate[wrong_idx[i +1]] = find_char_not(strs)
            # print('----', i)
            # print(intermediate)
            # print(find_char_not(strs))
            intermediate = intermediate[:wrong_idx[i +1]] + find_char_not(strs) + intermediate[wrong_idx[i +1] + 1:]
            # print(intermediate)
            # print('----')
            flag = True
            i += 1
            # print(i, '---0000')
        else:
            pass
    i+=1


print(intermediate[:len(s2) - 1])
wrong_idx = []

for i in range(len(s2)):
    if intermediate[i] != s2[i]:
        wrong_idx.append(i)
intermediate_old = intermediate[:]
s1 = intermediate[:]
flag = False
wrong_idx.append(n)
i = 0
while i < len(wrong_idx):
    if i < len(wrong_idx) - 1 and wrong_idx[i+1] - wrong_idx[i] > 1:
        # intermediate[wrong_idx[i]] = s2 [wrong_idx[i]]
        intermediate = intermediate[:wrong_idx[i]] + s2 [wrong_idx[i]] + intermediate[wrong_idx[i] + 1:]

        i += 1
    elif i < len(wrong_idx) - 1 and s2[wrong_idx[i]] != s1[wrong_idx[i + 1]]:
        # intermediate[wrong_idx[i]] = s2 [wrong_idx[i]]
        intermediate = intermediate[:wrong_idx[i]] + s2 [wrong_idx[i]] + intermediate[wrong_idx[i] + 1:]

        i += 1
    elif i < len(wrong_idx) - 1 and s2[wrong_idx[i]] == s1[wrong_idx[i + 1]]:
        if s2[wrong_idx[i + 1]] == s1[wrong_idx[i]]:
            strs = []
            strs.append(s2[wrong_idx[i]])
            strs.append(s1[wrong_idx[i]])
            if i + 2 < len(wrong_idx):
                strs.append(s2[wrong_idx[i + 2]])
                strs.append(s1[wrong_idx[i + 2]])
            # intermediate[wrong_idx[i +1]] = find_char_not(strs)
            intermediate = intermediate[:wrong_idx[i +1]] + find_char_not(strs) + intermediate[wrong_idx[i +1] + 1:]
            flag = True
            i += 1
        else:
            pass
    i+=1

if intermediate != intermediate_old:
    print(intermediate[:len(s2) - 1])

if intermediate != s2:
    print(s2[:len(s2) - 1])

Test details

Test 1

Verdict: ACCEPTED

input
A
B

correct output
A
B

user output
A
B

Test 2

Verdict:

input
BABAZA
BACBCB

correct output
BABAZA
BACACA
BACBCB

user output
BABAZA
BACACA
BACBCA
BACBCB

Test 3

Verdict: ACCEPTED

input
AB
BA

correct output
AB
CB
CA
BA

user output
AB
AC
BC
BA

Test 4

Verdict: ACCEPTED

input
ABC
BCD

correct output
ABC
DBD
DCD
BCD

user output
ABC
ABD
ACD
BCD

Test 5

Verdict:

input
AXYB
CXYD

correct output
AXYB
CXYD

user output
AXYB
CXYB
CXYD

Test 6

Verdict:

input
LMIJLF
PAQBMH

correct output
LMIJLF
PMQJMF
PAQBMH

user output
LMIJLF
PMQJMF
PAQJMH
PAQBMH

Test 7

Verdict:

input
PNIWLSLIH
CRLVPUFHD

correct output
PNIWLSLIH
CNLWPSFID
CRLVPUFHD

user output
PNIWLSLIH
CNLWPSFID
CRLWPUFID
CRLVPUFHD

Test 8

Verdict:

input
ZDYIAVTKL
ZJKVXGAUM

correct output
ZDYIAVTKL
ZJYVAGTUL
ZJKVXGAUM

user output
ZDYIAVTKL
ZJYVAGTUL
ZJKVAGAUL
ZJKVXGAUM

Test 9

Verdict:

input
FBIXISJH
NXZIESMG

correct output
FBIXISJH
NBZXESMH
NXZIESMG

user output
FBIXISJH
NBZXESJG
NXZXESMG
NXZIESMG

Test 10

Verdict:

input
OPGW
QJIE

correct output
OPGW
QPIW
QJIE

user output
OPGW
QPIW
QJIW
QJIE

Test 11

Verdict:

input
DUKNPKQZBL
NZPBMOEBIC

correct output
DUKNPKQZBL
NUPNMKEZIL
NZPBMOEBIC

user output
DUKNPKQZBL
NUPNMKEZIL
NZPNMOEZIC
NZPBMOEBIC

Test 12

Verdict:

input
ZWDTX
HZOXI

correct output
ZWDTX
HWOTI
HZOXI

user output
ZWDTX
HWOTI
HZOTI
HZOXI

Test 13

Verdict:

input
URJF
ITIQ

correct output
URJF
IRIF
ITIQ

user output
URJF
IRIF
ITIF
ITIQ

Test 14

Verdict:

input
WYWBWU
IRYVBA

correct output
WYWBWU
WRWVWA
IRYVBA

user output
WYWBWU
IYYBBU
IRYBBA
IRYVBA