#include using namespace std; unordered_map mapa; bool przeciwnik() { string slo; cin >> slo; if (slo == "yuck!") return false; int ile; cin >> ile; mapa[slo] -= ile; if (mapa[slo] < 0) { //cout << "yuck\n"; return false; } return true; } string ruchy[4] = {"top", "bottom", "left", "right"}; void mojruch() { int xorr=0; for (int i=0; i<4; i++) { xorr = (xorr ^ mapa[ruchy[i]]); } //cout << xorr << "\n"; for (int i=0; i<4; i++) { xorr = (xorr ^ mapa[ruchy[i]]); if (xorr < mapa[ruchy[i]]) { cout << ruchy[i] << " " << mapa[ruchy[i]]-xorr << "\n"; mapa[ruchy[i]] = xorr; break; } xorr = (xorr ^ mapa[ruchy[i]]); } } int main() { int r, c, k; cin >> r >> c >> k; int high=100000, low = 0, left = 100000, right = 0; for (int i=0; i> x >> y; high = min(high, x-1); low = max(low, x+1); left = min(left, y-1); right = max(right, y+1); } low = r - low + 1; right = c - right + 1; //cout << high << " " << low << " " << left << " " << right << "\n"; mapa["top"] = high; mapa["bottom"] = low; mapa["left"] = left; mapa["right"] = right; int ping = 0; while (true) { if ((right ^ left ^ high ^ low) == 0 && ping == 0) { ping=1; cout << "pass\n"; if (!przeciwnik()) break; } mojruch(); if (!przeciwnik()) break; } }