#include "bits/stdc++.h"
#include "robot.h"
#define pb push_back
using namespace std;
int a = 3, b = 4, c = 5, bad = 2, col = 6; // col: boyama rengimiz, a: 2. cocuguma git, b: 3. cocuguma git, c: parentıma cık
vector<int> pos = {-2, -1, 0, 1, a, b, c, bad, col};
void program_pulibot(){
for(auto s0: pos) for(auto s1: pos) for(auto s2: pos) for(auto s3: pos) for(auto s4: pos){ // ben sol asagi sag yukarı
if(s2 == -2 && s3 == -2){ // son cell
if(s0 == col){
set_instruction({s0, s1, s2, s3, s4}, 1, 'T'); // bitir
}
else if(s0 == 0){
if(s1 > 0){
set_instruction({s0, s1, s2, s3, s4}, col, 'W');
}
else{
set_instruction({s0, s1, s2, s3, s4}, col, 'N');
}
}
continue;
}
if(s1 == -2 && s4 == -2){ // baslangic celline yanımda col olan bir cell varken gelirsem 1e boyayıp terse trackle
if(max({s1, s2, s3, s4}) == col){
if(s2 == col){
set_instruction({s0, s1, s2, s3, s4}, 1, 'S');
}
else if(s3 == col){
set_instruction({s0, s1, s2, s3, s4}, 1, 'E');
}
continue;
}
}
if(s0 == col){ // bir cell colla boyandıysa trackliyorum demek
if(s2 == col){
set_instruction({s0, s1, s2, s3, s4}, 1, 'S');
}
else if(s3 == col){
set_instruction({s0, s1, s2, s3, s4}, 1, 'E');
}
continue;
}
if(max({s1, s2, s3, s4}) == col){ // 1e geri donmeye calısıyoruz
if(s1 != col && s1 > 0){
set_instruction({s0, s1, s2, s3, s4}, col, 'W');
}
else if(s4 != col && s4 > 0){
set_instruction({s0, s1, s2, s3, s4}, col, 'N');
}
continue;
}
if(s0 == c){
if(s1 > 0){
set_instruction({s0, s1, s2, s3, s4}, bad, 'W');
}
else if(s4 > 0){
set_instruction({s0, s1, s2, s3, s4}, bad, 'N');
}
continue;
}
vector<char> clist;
int ch = 0;
if(s2 == 0){
ch++;
clist.pb('S');
}
if(s3 == 0){
ch++;
clist.pb('E');
}
if(s0 == 0){
if(clist.size() < 1) set_instruction({s0, s1, s2, s3, s4}, c, 'H');
else set_instruction({s0, s1, s2, s3, s4}, a, clist[0]);
continue;
}
if(s0 == a){
if(clist.size() < 2) set_instruction({s0, s1, s2, s3, s4}, c, 'H');
else set_instruction({s0, s1, s2, s3, s4}, c, clist[1]);
continue;
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |