제출 #1029746

#제출 시각아이디문제언어결과실행 시간메모리
1029746Andrey로봇 대회 (IOI23_robot)C++17
92 / 100
117 ms6532 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 <= 8; c++) { for(int w = -2; w <= 8; w++) { for(int s = -2; s <= 8; s++) { for(int e = -2; e <= 8; e++) { for(int n = -2; n <= 8; n++) { if(c == 8) { set_instruction({c,w,s,e,n},7,'H'); continue; } 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) || w == 8) { set_instruction({c,w,s,e,n},7,'W'); } else if(check(s,3) || s == 8) { set_instruction({c,w,s,e,n},7,'S'); } else if(check(e,4) || e == 8) { set_instruction({c,w,s,e,n},7,'E'); } else if(check(n,5) || n == 8) { 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 = 2; } 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) { set_instruction({c,w,s,e,n},8,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'); } } } } } } } }

컴파일 시 표준 에러 (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:155:31: note: 'x' was declared here
  155 |                         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...