Submission #1258792

#TimeUsernameProblemLanguageResultExecution timeMemory
1258792nicolo_010Robot Contest (IOI23_robot)C++20
9 / 100
68 ms5784 KiB
#include <bits/stdc++.h> #include "robot.h" using namespace std; template <typename T> using v = vector<T>; using ll = long long; using pii = pair<int, int>; #define rep(i, k, n) for (int i = k; i < n; i++) #define set_instructions set_instruction map<v<int>, int> mp; bool not_used(v<int> S) { bool can = !mp.count(S); mp[S] = 1; return can; } void program_pulibot() { v<int> S = {0, 0, -2, -2, 0}; rep(i, -1, 4) { S[1] = i; S[4] = 2; if (not_used(S)) set_instructions(S, 1, 'N'); S[1] = 2; S[4] = i; if (not_used(S)) set_instructions(S, 1, 'W'); mp[S] = 1; } S = {2, -2, 0, 0, -2}; rep(i, -1, 4) { S[2] = i; S[3] = 1; if (not_used(S)) set_instructions(S, 1, 'T'); S[2] = 1; S[3] = i; if (not_used(S)) set_instructions(S, 1, 'T'); } set<int> s; rep(i, 1, 5) { s.insert(i); } v<char> c = {'X', 'W', 'S', 'E', 'N'}; rep(i, 1, 5) { s.erase(i); S = {0, 0, 0, 0, 0}; rep(j, -2, 4) { rep(k, -2, 4) { rep(z, -2, 4) { S[0] = 0; S[i] = 0; auto it = s.begin(); S[*it] = j; it++; S[*it] = k; it++; S[*it] = z; if (not_used(S)) set_instructions(S, 2, c[i]); S[0] = 2; if (not_used(S)) set_instructions(S, 2, c[i]); } } } s.insert(i); } rep(i, 1, 5) { s.erase(i); S = {0, 0, 0, 0, 0}; rep(j, -2, 4) { rep(k, -2, 4) { rep(z, -2, 4) { S[0] = 0; S[i] = 2; auto it = s.begin(); S[*it] = j; it++; S[*it] = k; it++; S[*it] = z; if (not_used(S)) set_instructions(S, 3, c[i]); S[0] = 2; bool uno = false; for (auto x : S) if (x == 1) uno = true; int col = (uno ? 1 : 3); if (not_used(S)) set_instructions(S, col, c[i]); } } } s.insert(i); } }
#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...