#include <bits/stdc++.h>
using namespace std;
void algosia() {
int n, t, a, b;
cin >> n >> t;
string napis;
char x;
for(int _ = 0; _ < t; ++_) {
a = 0, b = 0;
string ans = "";
cin >> napis;
for(int i = 0; i < n; ++i) {
if(napis[i] == '0') {
cout << 'P' << endl;
}
else {
cout << 'K' << endl;
}
cin >> x;
if(x == 'K') ans += '1';
else ans += '0';
if(napis[i] == '0' && x == 'K') {
++a;
}
if(napis[i] == '1' && x == 'P') {
++b;
}
if(a > b) {
cout << 'K' << endl;
++b;
cin >> x;
}
if(a < b) {
cout << 'P' << endl;
++a;
cin >> x;
}
}
cout << "! " << ans << endl;
}
}
void bajtek() {
int n, t, a = 0, b = 0;
cin >> n >> t;
string napis;
char x;
for(int _ = 0; _ < t; ++_) {
a = 0, b = 0;
cin >> napis;
string ans = "";
for(int i = 0; i < n; ++i) {
if(napis[i] == '0') {
cout << 'P' << endl;
}
else {
cout << 'K' << endl;
}
cin >> x;
if(x == 'K') ans += '1';
else ans += '0';
if(napis[i] == '0' && x == 'K') {
++b;
}
if(napis[i] == '1' && x == 'P') {
++a;
}
if(a > b) {
cout << 'P' << endl;
++b;
cin >> x;
}
if(a < b) {
cout << 'K' << endl;
++a;
cin >> x;
}
}
cout << "! " << ans << endl;
}
}
int main() {
string rola;
cin >> rola;
if(rola == "Algosia") {
algosia();
}
else {
bajtek();
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #include <bits/stdc++.h> using namespace std; void algosia() { int n, t, a, b; cin >> n >> t; string napis; char x; for(int _ = 0; _ < t; ++_) { a = 0, b = 0; string ans = ""; cin >> napis; for(int i = 0; i < n; ++i) { if(napis[i] == '0') { cout << 'P' << endl; } else { cout << 'K' << endl; } cin >> x; if(x == 'K') ans += '1'; else ans += '0'; if(napis[i] == '0' && x == 'K') { ++a; } if(napis[i] == '1' && x == 'P') { ++b; } if(a > b) { cout << 'K' << endl; ++b; cin >> x; } if(a < b) { cout << 'P' << endl; ++a; cin >> x; } } cout << "! " << ans << endl; } } void bajtek() { int n, t, a = 0, b = 0; cin >> n >> t; string napis; char x; for(int _ = 0; _ < t; ++_) { a = 0, b = 0; cin >> napis; string ans = ""; for(int i = 0; i < n; ++i) { if(napis[i] == '0') { cout << 'P' << endl; } else { cout << 'K' << endl; } cin >> x; if(x == 'K') ans += '1'; else ans += '0'; if(napis[i] == '0' && x == 'K') { ++b; } if(napis[i] == '1' && x == 'P') { ++a; } if(a > b) { cout << 'P' << endl; ++b; cin >> x; } if(a < b) { cout << 'K' << endl; ++a; cin >> x; } } cout << "! " << ans << endl; } } int main() { string rola; cin >> rola; if(rola == "Algosia") { algosia(); } else { bajtek(); } } |
English