Submission #1241531

#TimeUsernameProblemLanguageResultExecution timeMemory
1241531BoasRobot Contest (IOI23_robot)C++20
26 / 100
67 ms5864 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 seti = [&](int leave, char dir) { set_instruction({c, w, s, e, n}, leave, dir); }; auto goToB = [&](int i, int leave) { if (n == i) seti(leave, 'N'); else if (w == i) seti(leave, 'W'); }; auto goToF = [&](int i, int leave) { if (s == i) seti(leave, 'S'); else if (e == i) seti(leave, 'E'); }; si burenB = {w, n}; si burenF = {s, e}; if (burenF.count(1) || burenB.count(1) || burenB.count(4)) { if (burenF.count(2)) goToF(2, c == 2 || c == 4 ? 4 : 1); else if (burenB.count(4)) goToB(4, 0); else if (burenB.count(3)) goToB(3, 1); else if (c == 4) goToB(1, 0); else if (c == 2) goToB(1, 0); else seti(1, 'T'); } else { if (s == -2 && e == -2) goToB(3, 1); else if (burenF.count(0)) goToF(0, 3); else { goToB(3, 2); } } } } } } } }
#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...