# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1241533 | Boas | Robot Contest (IOI23_robot) | C++20 | 68 ms | 5704 KiB |
#include "robot.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define loop(n, i) for (int i = 0; i < n; i++)
#define ALL(x) begin(x), end(x)
#define sz(x) (int)x.size()
typedef set<int> si;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef set<ii> sii;
typedef vector<ii> vii;
int max_col = 4;
void program_pulibot()
{
for (int c = 0; c <= max_col; c++)
{
for (int w = -2; w <= max_col; w++)
{
for (int s = -2; s <= max_col; s++)
{
for (int e = -2; e <= max_col; e++)
{
for (int n = -2; n <= max_col; n++)
{
auto goTo = [&](int i, int leave)
{
if (s == i)
set_instruction({c, w, s, e, n}, leave, 'S');
else if (e == i)
set_instruction({c, w, s, e, n}, leave, 'E');
else if (n == i)
set_instruction({c, w, s, e, n}, leave, 'N');
else if (w == i)
set_instruction({c, w, s, e, n}, leave, 'W');
};
si buren = {w, s, e, n};
if (c == 0)
{
if (s == -2 && e == -2)
goTo(3, 1);
else if (buren.count(0))
goTo(0, 3);
else
goTo(3, 2);
}
else if (c == 3)
{
if (buren.count(1))
{
if (buren.count(2))
goTo(2, 1);
else if (buren.count(3))
goTo(3, 1);
else
set_instruction({c, w, s, e, n}, 1, 'T');
}
else if (buren.count(0))
goTo(0, 3);
else if (buren.count(2))
goTo(3, 2);
}
else if (c == 2)
{
if (buren.count(1) || buren.count(4))
{
if (buren.count(2))
goTo(2, 4);
else if (buren.count(4))
goTo(4, 0);
else
goTo(1, 0);
}
}
else if (c == 1)
{
if (buren.count(2))
goTo(2, 1);
else if (buren.count(3))
goTo(3, 1);
else
set_instruction({c, w, s, e, n}, 1, 'T');
}
else if (c == 4)
{
if (buren.count(2))
goTo(2, 4);
else if (buren.count(1) || buren.count(4))
{
if (buren.count(4))
goTo(4, 0);
else
goTo(1, 0);
}
}
}
}
}
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |