Submission details
Task:Babaza Game
Sender:aalto26am_039
Submission time:2026-08-31 17:43:38 +0300
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails

Code

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
  string s, t;
  cin >> s >> t;
  int n = s.size();

  bool one = true;
  for (int i = 0; i + 1 < n; i++)
    if (s[i] != t[i] && s[i + 1] != t[i + 1]) one = false;
  if (one) { cout << s << "\n" << t << "\n"; return 0; }

  vector<vector<int>> pr(n, vector<int>(26, -2));
  for (int c = 0; c < 26; c++) pr[0][c] = -1;
  for (int i = 1; i < n; i++)
    for (int c = 0; c < 26; c++)
      for (int p = 0; p < 26; p++) {
        if (pr[i - 1][p] == -2 || p == c) continue;
        if (p != s[i - 1] - 'A' && c != s[i] - 'A') continue;
        if (p != t[i - 1] - 'A' && c != t[i] - 'A') continue;
        pr[i][c] = p;
        break;
      }
  for (int c = 0; c < 26; c++)
    if (pr[n - 1][c] != -2) {
      string u(n, '?');
      for (int i = n - 1, x = c; i >= 0; i--) { u[i] = 'A' + x; x = pr[i][x]; }
      cout << s << "\n" << u << "\n" << t << "\n";
      return 0;
    }

  char x = 'A';
  while (s.find(x) != string::npos || t.find(x) != string::npos) x++;
  string a = s, b = t;
  for (int i = 0; i < n; i += 2) a[i] = b[i] = x;
  cout << s << "\n" << a << "\n" << b << "\n" << t << "\n";
}

Test details

Test 1

Verdict: ACCEPTED

input
A
B

correct output
A
B

user output
A
B

Test 2

Verdict: ACCEPTED

input
BABAZA
BACBCB

correct output
BABAZA
BACACA
BACBCB

user output
BABAZA
BACACA
BACBCB

Test 3

Verdict: ACCEPTED

input
AB
BA

correct output
AB
CB
CA
BA

user output
AB
CB
CA
BA

Test 4

Verdict: ACCEPTED

input
ABC
BCD

correct output
ABC
DBD
DCD
BCD

user output
ABC
EBE
ECE
BCD

Test 5

Verdict: ACCEPTED

input
AXYB
CXYD

correct output
AXYB
CXYD

user output
AXYB
CXYD

Test 6

Verdict: ACCEPTED

input
LMIJLF
PAQBMH

correct output
LMIJLF
PMQJMF
PAQBMH

user output
LMIJLF
PMQJMF
PAQBMH

Test 7

Verdict: ACCEPTED

input
PNIWLSLIH
CRLVPUFHD

correct output
PNIWLSLIH
CNLWPSFID
CRLVPUFHD

user output
PNIWLSLIH
CNLWPSFID
CRLVPUFHD

Test 8

Verdict: ACCEPTED

input
ZDYIAVTKL
ZJKVXGAUM

correct output
ZDYIAVTKL
ZJYVAGTUL
ZJKVXGAUM

user output
ZDYIAVTKL
ZJYVAGTUL
ZJKVXGAUM

Test 9

Verdict: ACCEPTED

input
FBIXISJH
NXZIESMG

correct output
FBIXISJH
NBZXESMH
NXZIESMG

user output
FBIXISJH
NBZXESJG
NXZIESMG

Test 10

Verdict: ACCEPTED

input
OPGW
QJIE

correct output
OPGW
QPIW
QJIE

user output
OPGW
OJGE
QJIE

Test 11

Verdict: ACCEPTED

input
DUKNPKQZBL
NZPBMOEBIC

correct output
DUKNPKQZBL
NUPNMKEZIL
NZPBMOEBIC

user output
DUKNPKQZBL
NUPNMKEZIL
NZPBMOEBIC

Test 12

Verdict: ACCEPTED

input
ZWDTX
HZOXI

correct output
ZWDTX
HWOTI
HZOXI

user output
ZWDTX
HWOTI
HZOXI

Test 13

Verdict: ACCEPTED

input
URJF
ITIQ

correct output
URJF
IRIF
ITIQ

user output
URJF
IRIF
ITIQ

Test 14

Verdict: ACCEPTED

input
WYWBWU
IRYVBA

correct output
WYWBWU
WRWVWA
IRYVBA

user output
WYWBWU
WRWVWA
IRYVBA