제출 #1205462

#제출 시각아이디문제언어결과실행 시간메모리
1205462PagodePaivaRobot Contest (IOI23_robot)C++20
26 / 100
132 ms5836 KiB
#include "robot.h" #include<bits/stdc++.h> using namespace std; char letra(int x){ if(x == 1) return 'W'; if(x == 2) return 'S'; if(x == 3) return 'E'; return 'N'; } void limpar(vector <int> &v){ for(int i = 2;i < 4;i++){ if(v[i] == 3){ set_instruction(v, v[0], letra(i)); return; } } if(v[0] == 4){ for(int i = 1;i < 5;i += 3){ if(v[i] == 1 or v[i] == 4){ set_instruction(v, 0, letra(i)); return; } } } else{ for(int i = 1;i < 5;i += 3){ if(v[i] == 2){ set_instruction(v, 1, letra(i)); return; } } set_instruction(v, 1, 'T'); } } void backtrack(vector <int> &v){ if(v.size() == 5){ /*for(auto x : v){ cout << x << ' '; } cout << '\n';*/ if(v[0] == 0){ set_instruction(v, 2, 'H'); return; } if(v[2] == -2 and v[3] == -2){ for(int i = 1;i < 5;i += 3){ if(v[i] == 2){ set_instruction(v, 1, letra(i)); return; } } } if(v[0] == 2){ for(int i = 2;i < 4;i++){ if(v[i] == 1){ set_instruction(v, 1, 'H'); return; } } } if(v[0] == 1 or v[0] == 4){ limpar(v); return; } if(v[0] == 2){ for(int i = 2;i < 4;i++){ if(v[i] == 0){ set_instruction(v, 2, letra(i)); return; } } for(int i = 1;i < 5;i += 3){ if(v[i] == 2){ set_instruction(v, 3, letra(i)); return; } } } if(v[0] == 3){ set_instruction(v, 4, 'H'); return; } return; } for(int i = -2;i < 5;i++){ v.push_back(i); backtrack(v); v.pop_back(); } return; } void program_pulibot(){ /* set_instruction({0, -2, -1, 0, -2}, 1, 'E'); set_instruction({0, 1, -1, 0, -2}, 1, 'E'); set_instruction({0, 1, 0, -2, -2}, 1, 'S'); set_instruction({0, -1, -2, -2, 1}, 1, 'T'); */ vector <int> v = {}; backtrack(v); }
#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...