Submission #1031376

#TimeUsernameProblemLanguageResultExecution timeMemory
1031376AndreyRobot Contest (IOI23_robot)C++17
96 / 100
104 ms6472 KiB
#include "robot.h" #include<bits/stdc++.h> using namespace std; bool check(int a, int x) { if(a >= 2 && a <= 5 && (a-x+1002)%4 == 0) { return true; } return false; } void program_pulibot() { char dir[6] = {'z','T','W','S','E','N'}; for(int c = 0; c <= 7; c++) { for(int w = -2; w <= 7; w++) { for(int s = -2; s <= 7; s++) { for(int e = -2; e <= 7; e++) { for(int n = -2; n <= 7; n++) { if(c == 0) { if(s == -2 && e == -2) { set_instruction({c,w,s,e,n},6,'H'); continue; } if(w == -2 && n == -2) { set_instruction({c,w,s,e,n},2,'H'); } else if(check(w,2)) { set_instruction({c,w,s,e,n},2,'W'); } else if(check(s,3)) { set_instruction({c,w,s,e,n},3,'S'); } else if(check(e,4)) { set_instruction({c,w,s,e,n},4,'E'); } else if(check(n,5)) { set_instruction({c,w,s,e,n},5,'N'); } continue; } if(c == 1) { if(s == -2 && e == -2) { set_instruction({c,w,s,e,n},1,'T'); continue; } if(w == 6) { set_instruction({c,w,s,e,n},1,'W'); } else if(s == 6) { set_instruction({c,w,s,e,n},1,'S'); } else if(e == 6) { set_instruction({c,w,s,e,n},1,'E'); } else if(n == 6) { set_instruction({c,w,s,e,n},1,'N'); } continue; } if(c == 6) { if(w == 1 || s == 1 || e == 1 || n == 1) { set_instruction({c,w,s,e,n},7,'H'); continue; } if(w == -2 && n == -2) { set_instruction({c,w,s,e,n},7,'H'); continue; } if(check(w,2)) { set_instruction({c,w,s,e,n},6,'W'); } else if(check(s,3)) { set_instruction({c,w,s,e,n},6,'S'); } else if(check(e,4)) { set_instruction({c,w,s,e,n},6,'E'); } else if(check(n,5)) { set_instruction({c,w,s,e,n},6,'N'); } else { if(w == 6) { set_instruction({c,w,s,e,n},0,'W'); } else if(s == 6) { set_instruction({c,w,s,e,n},0,'S'); } else if(e == 6) { set_instruction({c,w,s,e,n},0,'E'); } else if(n == 6) { set_instruction({c,w,s,e,n},0,'N'); } } continue; } if(c == 7) { if(check(w,2)) { set_instruction({c,w,s,e,n},7,'W'); } else if(check(s,3)) { set_instruction({c,w,s,e,n},7,'S'); } else if(check(e,4)) { set_instruction({c,w,s,e,n},7,'E'); } else if(check(n,5)) { set_instruction({c,w,s,e,n},7,'N'); } else { if(w == 7) { set_instruction({c,w,s,e,n},0,'W'); } else if(s == 7) { set_instruction({c,w,s,e,n},0,'S'); } else if(e == 7) { set_instruction({c,w,s,e,n},0,'E'); } else if(n == 7) { set_instruction({c,w,s,e,n},0,'N'); } else { set_instruction({c,w,s,e,n},1,'H'); } } continue; } if(w == 7 || s == 7 || e == 7 || n == 7) { set_instruction({c,w,s,e,n},7,'H'); continue; } int br = 0; if(s == 6) { br++; } if(w == 6) { br++; } if(e == 6) { br++; } if(n == 6) { br++; } if(br == 1) { set_instruction({c,w,s,e,n},6,'H'); continue; } int p,x; if(br == 0) { p = c+1; } else if(br >= 2) { p = c; } if(p == 6) { p-=4; } if(p == 2) { x = w; } else if(p == 3) { x = s; } else if(p == 4) { x = e; } else if(p == 5) { x = n; } if(br >= 2) { int z = 0; if(p != 2 && w == 6) { z = 2; } if(p != 3 && s == 6) { z = 3; } if(p != 4 && e == 6) { z = 4; } if(p != 5 && n == 6) { z = 5; } set_instruction({c,w,s,e,n},z,dir[p]); } else { if(x == 0 || check(x,p)) { set_instruction({c,w,s,e,n},p,dir[p]); } else { set_instruction({c,w,s,e,n},p,'H'); } } } } } } } }

Compilation message (stderr)

robot.cpp: In function 'void program_pulibot()':
robot.cpp:6:30: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
    6 |     if(a >= 2 && a <= 5 && (a-x+1002)%4 == 0) {
      |                             ~^~
robot.cpp:151:31: note: 'x' was declared here
  151 |                         int p,x;
      |                               ^
#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...