#include <iostream>
using namespace std;
int player;
int result;
int n;
char regular_move(char a) {
a = (a == '0' ? 'P' : 'K');
cout << a << endl;
cout.flush();
string bs;
cin >> bs;
char b = bs[0];
//cout << "b: " << b << endl;
//cout << "bs: " << bs << endl;
if(a == b) {
return (b == 'K' ? '1' : '0');
}
//cout << a << " " << b << endl;
if(a == 'P' && b == 'K') {
result = 1;
} else if (a == 'K' && b == 'P') {
result = -1;
} else if (a == 'K' && b == 'N') {
result = 1;
} else if (a == 'N' && b == 'K') {
result = -1;
} else if (a == 'N' && b == 'P') {
result = 1;
} else if (a == 'P' && b == 'N') {
result = -1;
}
//cout << "result2: " << result << endl;
return (b == 'K' ? '1' : '0');
}
void passive_move() {
if(result == 1) {
cout << "K";
cout.flush();
} else if (result == -1) {
cout << "P";
cout.flush();
}
string bs;
cin >> bs;
result = 0;
}
void solve() {
result = 0;
string s;
string ans = "";
cin >> s;
for(char x : s) {
// cout << "x: " << x << endl;
//cout << "result: " << result << endl;
//cout << "ans: " << ans << endl;
if(result != 0) {
passive_move();
}
ans += regular_move(x);
}
cout << "! " << ans << endl;
cout.flush();
}
int main() {
ios_base::sync_with_stdio(false);
int t;
string name;
cin >> name;
if(name == "Algosia") {
player = 1;
} else {
player = 2;
}
cin >> n >> t;
while(t--) {
solve();
}
}
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 | #include <iostream> using namespace std; int player; int result; int n; char regular_move(char a) { a = (a == '0' ? 'P' : 'K'); cout << a << endl; cout.flush(); string bs; cin >> bs; char b = bs[0]; //cout << "b: " << b << endl; //cout << "bs: " << bs << endl; if(a == b) { return (b == 'K' ? '1' : '0'); } //cout << a << " " << b << endl; if(a == 'P' && b == 'K') { result = 1; } else if (a == 'K' && b == 'P') { result = -1; } else if (a == 'K' && b == 'N') { result = 1; } else if (a == 'N' && b == 'K') { result = -1; } else if (a == 'N' && b == 'P') { result = 1; } else if (a == 'P' && b == 'N') { result = -1; } //cout << "result2: " << result << endl; return (b == 'K' ? '1' : '0'); } void passive_move() { if(result == 1) { cout << "K"; cout.flush(); } else if (result == -1) { cout << "P"; cout.flush(); } string bs; cin >> bs; result = 0; } void solve() { result = 0; string s; string ans = ""; cin >> s; for(char x : s) { // cout << "x: " << x << endl; //cout << "result: " << result << endl; //cout << "ans: " << ans << endl; if(result != 0) { passive_move(); } ans += regular_move(x); } cout << "! " << ans << endl; cout.flush(); } int main() { ios_base::sync_with_stdio(false); int t; string name; cin >> name; if(name == "Algosia") { player = 1; } else { player = 2; } cin >> n >> t; while(t--) { solve(); } } |
English