Submission #1247151

#TimeUsernameProblemLanguageResultExecution timeMemory
1247151linusvdvRobot Contest (IOI23_robot)C++20
0 / 100
65 ms5700 KiB
#include "robot.h" #include <array> #include <set> std::set<std::array<int, 5>> asked; void my_set_instruction(std::array<int, 5> ask, int Z, char A) { if (asked.count(ask)) return; set_instruction({ask[0], ask[1], ask[2], ask[3], ask[4]}, Z, A); asked.insert(ask); } void program_pulibot() { // dfs 0 not jet visited, 2 visited, 3 way back std::vector<int> r1 = {-2, -1, 0, 2, 3}; // North outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({0, r1[i], r1[j], r1[k], 0}, 2, 'N'); } } } // East outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({0, r1[i], r1[j], 0, r1[k]}, 2, 'E'); } } } // South outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({0, r1[i], 0, r1[j], r1[k]}, 2, 'S'); } } } // West outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({0, 0, r1[i], r1[j], r1[k]}, 2, 'W'); } } } // Terminate for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { my_set_instruction({2, r1[i], -2, -2, r1[j]}, 2, 'T'); } } // Stay outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { for (int l = 0; l < r1.size(); l++) { my_set_instruction({0, r1[i], r1[j], r1[k], r1[l]}, 2, 'H'); } } } } //////////////////////////////////////////////////////////////////////////////////////////////////////// // North outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], r1[j], r1[k], 0}, 2, 'N'); } } } // East outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], r1[j], 0, r1[k]}, 2, 'E'); } } } // South outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], 0, r1[j], r1[k]}, 2, 'S'); } } } // West outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, 0, r1[i], r1[j], r1[k]}, 2, 'W'); } } } // North outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], r1[j], r1[k], 2}, 3, 'N'); } } } // East outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], r1[j], 2, r1[k]}, 3, 'E'); } } } // South outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, r1[i], 2, r1[j], r1[k]}, 3, 'S'); } } } // West outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { my_set_instruction({2, 2, r1[i], r1[j], r1[k]}, 3, 'W'); } } } // Stay outbound for (int i = 0; i < r1.size(); i++) { for (int j = 0; j < r1.size(); j++) { for (int k = 0; k < r1.size(); k++) { for (int l = 0; l < r1.size(); l++) { my_set_instruction({2, r1[i], r1[j], r1[k], r1[l]}, 3, 'T'); } } } } }
#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...