LSTTCD2 - Thử thách cực đại - Đá chìm đá nổi 2
Tác giả: ll931110
Ngôn ngữ: C++
#include <iostream>
using namespace std;
int main()
{
int n,x,y,t;
//freopen("lsttcd2.inp","r",stdin);
//freopen("lsttcd2.out","w",stdout);
scanf("%d%d%d", &n, &x, &y);
if (n == 1) cout << "WIN";
else if (x == y) cout << -1;
else if (y == x + 1)
{
if (x == 1)
{
while (x + 2 <= n)
{
cout << "R 2" << endl;
x += 2;
}
if (x == n)
{
cout << "L 1" << endl;
x--;
}
else
{
cout << "R 1" << endl;
x++;
}
while (x > y)
{
cout << "L 2" << endl;
x -= 2;
}
cout << "WIN";
}
else if (y == n)
{
while (x > 2)
{
cout << "L 2" << endl;
x -= 2;
}
if (x == 2)
{
cout << "L 1" << endl;
x = 1;
}
else
{
cout << "R 1" << endl;
x = 2;
}
while (x < y)
{
cout << "R 2" << endl;
x += 2;
}
cout << "WIN";
}
else cout << -1;
}
else if (x < y)
{
t = x;
while (x > 2)
{
cout << "L 2" << endl;
x -= 2;
}
if (x == 1)
{
cout << "R 1" << endl;
x = 2;
}
else if (x == 2)
{
cout << "L 1" << endl;
x = 1;
}
while (x < t)
{
cout << "R 2" << endl;
x += 2;
}
while (x < y - 1)
{
cout << "R 1" << endl;
x++;
}
if (y == n) cout << "R 1" << endl;
else
{
while (x + 2 <= n)
{
cout << "R 2" << endl;
x += 2;
}
if (x == n)
{
cout << "L 1" << endl;
x--;
}
else if (x == n - 1)
{
cout << "R 1" << endl;
x++;
}
while (x != y)
{
cout << "L 2" << endl;
x -= 2;
}
}
cout << "WIN";
}
else if (x == y + 1)
{
if (y == 1)
{
while (x + 2 <= n)
{
cout << "R 2" << endl;
x += 2;
}
if (x == n)
{
cout << "L 1" << endl;
x--;
}
else if (x == n - 1)
{
cout << "R 1" << endl;
x++;
}
while (x > y)
{
cout << "L 2" << endl;
x -= 2;
}
cout << "WIN";
}
else if (x == n)
{
while (x > 2)
{
cout << "L 2" << endl;
x -= 2;
}
if (x == 2)
{
cout << "L 1" << endl;
x = 1;
}
else
{
cout << "R 1" << endl;
x = 2;
}
while (x < y)
{
cout << "R 2" << endl;
x += 2;
}
cout << "WIN";
}
else cout << -1;
}
else
{
t = x;
while (x + 2 <= n)
{
cout << "R 2" << endl;
x += 2;
}
if (x == n - 1)
{
cout << "R 1" << endl;
x = n;
}
else
{
cout << "L 1" << endl;
x = n - 1;
}
while (x > t)
{
cout << "L 2" << endl;
x -= 2;
}
while (x > y + 1)
{
cout << "L 1" << endl;
x--;
}
if (y == 1) cout << "L 1" << endl;
else
{
while (x > 2)
{
cout << "L 2" << endl;
x -= 2;
}
if (x == 1)
{
cout << "R 1" << endl;
x = 2;
}
else if (x == 2)
{
cout << "L 1" << endl;
x = 1;
}
while (x != y)
{
cout << "R 2" << endl;
x += 2;
}
}
cout << "WIN";
}
}