Submission #1244325

#TimeUsernameProblemLanguageResultExecution timeMemory
1244325candi_ositosRobot Contest (IOI23_robot)C++20
16 / 100
71 ms5448 KiB
#include "robot.h" #include <bits/stdc++.h> #define li -2 #define wa -1 #define ns 0 #define md 3 #define exp 2 #define ret 1 #define dr 0 using namespace std; void p(vector <int> a, int b, char c){ vector <int> aux(5); aux[0]=a[0]; aux[1]=a[4]; aux[2]=a[3]; aux[3]=a[2]; aux[4]=a[1]; set_instruction(aux, b, c); return; } void program_pulibot() { p({ns, li, wa, ns, li}, exp, 'S');//esquina noroeste p({ns, li, ns, ns, li}, exp, 'E'); p({ns, li, ns, wa, li}, exp, 'E'); p({ns, li, li, ns, exp}, exp, 'S');//esquina noreste p({ns, li, li, wa, exp}, md, 'W'); p({ns, exp, wa, li, li}, md, 'N');//esquina suroeste p({ns, exp, ns, li, li}, exp, 'E'); p({ns, exp, li, li, wa}, ret, 'N');//esquina sureste p({ns, wa, li, li, exp}, ret, 'W'); p({ns, exp, li, li, ns}, ret, 'N'); p({ns, ns, li, li, exp}, ret, 'W'); p({ns, li, wa, exp, ns}, md, 'S');//limite arriba exp p({ns, li, wa, exp, wa}, md, 'S'); p({ns, li, ns, exp, ns}, exp, 'E'); p({ns, li, ns, exp, wa}, exp, 'E'); p({ns, li, wa, wa, exp}, md, 'W'); p({ns, li, ns, ns, exp}, exp, 'E'); p({ns, li, ns, wa, exp}, exp, 'E'); p({ns, li, wa, ns, exp}, exp, 'S'); p({ns, exp, wa, li, ns}, md, 'N');//limite abajo exp p({ns, exp, wa, li, wa}, md, 'N'); p({ns, exp, ns, li, ns}, exp, 'E'); p({ns, exp, ns, li, wa}, exp, 'E'); p({ns, wa, wa, li, exp}, md, 'W'); p({ns, ns, ns, li, exp}, exp, 'E'); p({ns, wa, ns, li, exp}, exp, 'E'); p({ns, ns, wa, li, exp}, exp, 'N'); p({ns, ns, li, wa, exp}, md, 'W');//limite derecha exp p({ns, wa, li, wa, exp}, md, 'W'); p({ns, ns, li, ns, exp}, exp, 'S'); p({ns, wa, li, ns, exp}, exp, 'S'); p({ns, exp, li, wa, wa}, md, 'N'); p({ns, exp, li, ns, ns}, exp, 'S'); p({ns, exp, li, ns, wa}, exp, 'S'); p({ns, exp, li, wa, ns}, exp, 'W'); p({ns, ns, exp, wa, li}, md, 'E');//limite izquierda exp p({ns, wa, exp, wa, li}, md, 'E'); p({ns, ns, exp, ns, li}, exp, 'S'); p({ns, wa, exp, ns, li}, exp, 'S'); p({ns, exp, wa, wa, li}, md, 'N'); p({ns, exp, ns, ns, li}, exp, 'S'); p({ns, exp, wa, ns, li}, exp, 'S'); p({ns, exp, ns, wa, li}, exp, 'E'); p({ns, ns, ns, ns, exp}, exp, 'E');//centro todo p({ns, ns, ns, exp, ns}, exp, 'E'); p({ns, ns, exp, ns, ns}, exp, 'S'); p({ns, exp, ns, ns, ns}, exp, 'E'); p({ns, wa, wa, wa, exp}, md, 'W');//centro block p({ns, wa, wa, exp, wa}, md, 'S'); p({ns, wa, exp, wa, wa}, md, 'E'); p({ns, exp, wa, wa, wa}, md, 'N'); for(int i=0; i<4; ++i){//centro 2 paredes for(int j=0; j<4; ++j){ if(j!=i){ vector <int> pos; pos.assign(5, wa); pos[i+1]=exp; pos[j+1]=ns; pos[0]=ns; char aux='W'; if(j==0){ aux='N'; } else if(j==1){ aux='E'; } else if(j==2){ aux='S'; } p(pos, exp, aux); } } } for(int i=0; i<4; ++i){//centro una pared for(int j=0; j<4; ++j){ if(j!=i){ vector <int> pos; pos.assign(5, ns); pos[i+1]=exp; pos[j+1]=wa; char aux='W'; int aguss=0; while(aguss==i || aguss==j){ ++aguss; } if(aguss==0){ aux='N'; } else if(aguss==1){ aux='E'; } else if(aguss==2){ aux='S'; } p(pos, exp, aux); } } } p({ns, exp, exp, ns, ns}, exp, 'S');//centro 2 exp 0 wa p({ns, exp, ns, exp, ns}, exp, 'E'); p({ns, exp, ns, ns, exp}, exp, 'E'); p({ns, ns, exp, exp, ns}, exp, 'W'); p({ns, ns, exp, ns, exp}, exp, 'S'); p({ns, ns, ns, exp, exp}, exp, 'E'); p({ns, exp, exp, wa, ns}, exp, 'W');//centro 2 exp 1 wa p({ns, exp, exp, ns, wa}, exp, 'S'); p({ns, exp, ns, exp, wa}, exp, 'E'); p({ns, exp, wa, exp, ns}, exp, 'W'); p({ns, exp, ns, wa, exp}, exp, 'E'); p({ns, exp, wa, ns, exp}, exp, 'S'); p({ns, ns, exp, exp, wa}, exp, 'N'); p({ns, wa, exp, exp, ns}, exp, 'W'); p({ns, ns, exp, wa, exp}, exp, 'N'); p({ns, wa, exp, ns, exp}, exp, 'S'); p({ns, ns, wa, exp, exp}, exp, 'N'); p({ns, wa, ns, exp, exp}, exp, 'E'); p({ns, exp, exp, wa, wa}, md, 'N');//centro 2 exp 2 wa p({ns, exp, wa, exp, wa}, md, 'N'); p({ns, exp, wa, wa, exp}, md, 'N'); p({ns, wa, exp, exp, wa}, md, 'E'); p({ns, wa, exp, wa, exp}, md, 'E'); p({ns, wa, wa, exp, exp}, md, 'S'); p({ns, exp, exp, exp, ns}, exp, 'W');//centro 3 exp p({ns, exp, exp, ns, exp}, exp, 'S'); p({ns, exp, ns, exp, exp}, exp, 'E'); p({ns, ns, exp, exp, exp}, exp, 'N'); //-------------------------------- p({exp, li, li, ret, exp}, ret, 'W');//ret esquina p({exp, exp, ret, li, li}, ret, 'N'); p({exp, li, ret, exp, ns}, ret, 'S');//ret arriba p({exp, li, ret, exp, wa}, ret, 'S'); p({exp, li, ret, ns, exp}, ret, 'W'); p({exp, li, ret, wa, exp}, ret, 'W'); p({exp, li, ns, ret, exp}, ret, 'W'); p({exp, li, wa, ret, exp}, ret, 'W'); p({exp, exp, ret, li, ns}, ret, 'N');//ret abajo p({exp, exp, ret, li, wa}, ret, 'N'); p({exp, ns, ret, li, exp}, ret, 'W'); p({exp, wa, ret, li, exp}, ret, 'W'); p({exp, ret, ns, li, exp}, ret, 'W'); p({exp, ret, wa, li, exp}, ret, 'W'); p({exp, ns, li, ret, exp}, ret, 'W');//ret derecha p({exp, wa, li, ret, exp}, ret, 'W'); p({exp, exp, li, ret, ns}, ret, 'N'); p({exp, exp, li, ret, wa}, ret, 'N'); p({exp, exp, li, ns, ret}, ret, 'N'); p({exp, exp, li, wa, ret}, ret, 'N'); p({exp, ns, exp, ret, li}, ret, 'E');//ret izquierda p({exp, wa, exp, ret, li}, ret, 'E'); p({exp, exp, ns, ret, li}, ret, 'N'); p({exp, exp, wa, ret, li}, ret, 'N'); p({exp, exp, ret, ns, li}, ret, 'N'); p({exp, exp, ret, wa, li}, ret, 'N'); p({exp, li, wa, ret, li}, ret, 'T');//fin p({exp, li, ret, ns, li}, ret, 'T'); p({exp, li, ns, ret, li}, ret, 'T'); p({exp, li, ret, wa, li}, ret, 'T'); return; }
#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...