| Task: | Babaza Game |
| Sender: | aalto26am_048 |
| Submission time: | 2026-08-31 17:07:32 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:40:9: warning: unused variable 'last_index_diff' [-Wunused-variable]
40 | int last_index_diff = -2;
| ^~~~~~~~~~~~~~~Code
#include <bits/stdc++.h>
using namespace std;
string avoid(string& s, string& e, int i) {
int q = 0;
vector<string> letters = {"A", "B", "C", "D", "E", "F"};
int n = s.size();
while (true) {
q++;
char l = letters[q][0];
if (i > 0 && (s[i-1] == (char)l || e[i-1] == (char)l)) {
continue;
}
if (i < n-1 && (s[i+1] == (char)l || e[i+1] == (char)l)) {
continue;
}
return letters[q];
}
}
int main() {
string s, e;
cin >> s >> e;
int n = s.size();
// if (n == 1 || s == e) {
// cout << s << endl << e << endl;
// return 0;
// }
int last_index_diff = -2;
bool oneposs = true;
for (int i = 0; i < n-1; i++) {
if (s[i] != e[i] && s[i+1] != e[i+1]) {
oneposs = false;
break;
}
}
if (oneposs) {
cout << s << endl << e << endl;
return 0;
}
int m = (1 << n);
for (int i = 0; i < m; i++) {
string w = "";
int cont = 0;
int anticont = 0;
bool valid = true;
for (int j = 0; j < n; j++) {
if ((1 << j) & i) {
w += s[j];
cont = 0;
anticont++;
if (anticont > 1) valid = false;
} else {
w += e[j];
cont++;
if (cont > 1) valid = false;
anticont = 0;
}
}
for (int i = 0; i < n-1; i++) {
if (w[i] == w[i+1]) {
valid = false;
}
}
if (valid) {
cout << s << endl << w << endl << e << endl;
return 0;
}
}
cout << s << endl;
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
cout << s[i];
} else {
cout << avoid(s, e, i);
}
}
cout << endl;
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
cout << e[i];
} else {
cout << avoid(s, e, i);
}
}
cout << endl;
cout << e << endl;
}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 AC BC BA |
Test 4
Verdict: ACCEPTED
| input |
|---|
| ABC BCD |
| correct output |
|---|
| ABC DBD DCD BCD |
| user output |
|---|
| ABC AEC BED 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 LAIBLH 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 ZDKIXVAKM ZJKVXGAUM |
Test 9
Verdict: ACCEPTED
| input |
|---|
| FBIXISJH NXZIESMG |
| correct output |
|---|
| FBIXISJH NBZXESMH NXZIESMG |
| user output |
|---|
| FBIXISJH NBZXESMH 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 UTJQ ITIQ |
Test 14
Verdict: ACCEPTED
| input |
|---|
| WYWBWU IRYVBA |
| correct output |
|---|
| WYWBWU WRWVWA IRYVBA |
| user output |
|---|
| WYWBWU WRWVWA IRYVBA |
