Submission #1241533

#TimeUsernameProblemLanguageResultExecution timeMemory
1241533BoasRobot Contest (IOI23_robot)C++20
24 / 100
68 ms5704 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...