Submission #1074544

#TimeUsernameProblemLanguageResultExecution timeMemory
1074544UnforgettableplRobot Contest (IOI23_robot)C++17
34 / 100
125 ms5976 KiB
#include "robot.h" #include <bits/stdc++.h> using namespace std; enum directions { e, s, n, w, }; void program_pulibot() { for(int current=0;current<=5;current++) { for(int west=-2;west<=5;west++) { for(int south=-2;south<=5;south++) { for(int north=-2;north<=5;north++) { for(int east=-2;east<=5;east++) { vector<int> cur = {current,west,south,east,north}; directions parent = w; if(west==2)parent=w; else if(east==5)parent=e; else if(north==3)parent=n; else if(south==4)parent=s; if(current==1) { if(north==-2 and west==-2) { set_instruction(cur,1,'T'); continue; } char par; if(parent==w)par='W'; else if(parent==e)par='E'; else if(parent==s)par='S'; else par='N'; set_instruction(cur,1,par); continue; } if(south==-2 and east==-2) { // we have found a path set_instruction(cur,1,'H'); continue; } if(current==0) { // Go east, no processing needed if(parent==e or east!=0){ set_instruction(cur,2,'H'); } else { set_instruction(cur,2,'E'); } } else if(current==2) { // Process that we came from east and try to go south if(parent!=e and east==1) { set_instruction(cur,1,'H'); } else if(parent==s or south!=0) { set_instruction(cur,3,'H'); } else { set_instruction(cur,3,'S'); } } else if(current==3) { // Process that we came from south and try to go north if(parent!=s and south==1) { set_instruction(cur,1,'H'); } else if(parent==n or north!=0) { set_instruction(cur,4,'H'); } else { set_instruction(cur,4,'N'); } } else if(current==4) { // Process that we came from north and try to go west if(parent!=n and north==1) { set_instruction(cur,1,'H'); } else if(parent==w or west!=0) { set_instruction(cur,5,'H'); } else { set_instruction(cur,5,'W'); } } else if(current==5) { // Process that we looked west, if nothing return to parent if(parent!=w and west==1) { set_instruction(cur,1,'H'); } else { char par; if(parent==w)par='W'; else if(parent==e)par='E'; else if(parent==s)par='S'; else par='N'; set_instruction(cur,0,par); } } } } } } } }
#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...