#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string whoami;
cin >> whoami;
if (whoami == "Algosia")
{
int A, B;
cin >> A >> B;
if (abs(A % 1000 - B % 1000) == 1 || abs(A - B) == 1)
{
// stoja bezposrednio obok siebie przy zawijaniu modulo 1000
// przesuwam cyklicznie o 2, wiec na pewno na siebie nie wejda
// 1 -> 3, 2 -> 4, ... , 998 -> 1000, 999 -> 1, 1000 -> 2
A = (A + 1) % 1000 + 1;
B = (B + 1) % 1000 + 1;
}
else
{
// stoja w odstepie co najmniej 2
// przesuwam cyklicznie o 1, wiec na pewno na siebie nie wejda
// 1 -> 2, 2 -> 3, ..., 999 -> 1000, 1000 -> 1
A = A % 1000 + 1;
B = B % 1000 + 1;
}
cout << A << " " << B << "\n";
cout.flush();
}
else if (whoami == "Bajtek")
{
int C, D;
cin >> C >> D;
if (abs(C % 1000 - D % 1000) == 1)
{
// stoja bezposrednio obok siebie przy zawijaniu modulo 1000
// przesuwam cyklicznie o -2
// 1 -> 999, 2 -> 1000, 3 -> 1, ... , 1000 -> 998
if (C <= 2)
C += 1000;
if (D <= 2)
D += 1000;
C = (C - 3) % 1000 + 1;
D = (D - 3) % 1000 + 1;
}
else
{
// stoja w odstepie co najmniej 2
// przesuwam cyklicznie o -1
// 1 -> 1000, 2 -> 1, ..., 999 -> 998, 1000 -> 999
if (C <= 2)
C += 1000;
if (D <= 2)
D += 1000;
C = (C - 2) % 1000 + 1;
D = (D - 2) % 1000 + 1;
}
cout << C << " " << D << "\n";
cout.flush();
}
return 0;
}
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 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); string whoami; cin >> whoami; if (whoami == "Algosia") { int A, B; cin >> A >> B; if (abs(A % 1000 - B % 1000) == 1 || abs(A - B) == 1) { // stoja bezposrednio obok siebie przy zawijaniu modulo 1000 // przesuwam cyklicznie o 2, wiec na pewno na siebie nie wejda // 1 -> 3, 2 -> 4, ... , 998 -> 1000, 999 -> 1, 1000 -> 2 A = (A + 1) % 1000 + 1; B = (B + 1) % 1000 + 1; } else { // stoja w odstepie co najmniej 2 // przesuwam cyklicznie o 1, wiec na pewno na siebie nie wejda // 1 -> 2, 2 -> 3, ..., 999 -> 1000, 1000 -> 1 A = A % 1000 + 1; B = B % 1000 + 1; } cout << A << " " << B << "\n"; cout.flush(); } else if (whoami == "Bajtek") { int C, D; cin >> C >> D; if (abs(C % 1000 - D % 1000) == 1) { // stoja bezposrednio obok siebie przy zawijaniu modulo 1000 // przesuwam cyklicznie o -2 // 1 -> 999, 2 -> 1000, 3 -> 1, ... , 1000 -> 998 if (C <= 2) C += 1000; if (D <= 2) D += 1000; C = (C - 3) % 1000 + 1; D = (D - 3) % 1000 + 1; } else { // stoja w odstepie co najmniej 2 // przesuwam cyklicznie o -1 // 1 -> 1000, 2 -> 1, ..., 999 -> 998, 1000 -> 999 if (C <= 2) C += 1000; if (D <= 2) D += 1000; C = (C - 2) % 1000 + 1; D = (D - 2) % 1000 + 1; } cout << C << " " << D << "\n"; cout.flush(); } return 0; } |
English