제출 #1205454

#제출 시각아이디문제언어결과실행 시간메모리
1205454PagodePaivaRobot Contest (IOI23_robot)C++20
16 / 100
69 ms5768 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 backtrack(vector <int> &v){
    if(v.size() == 5){
        if(v[2] == v[3] and v[3] == -2){
            for(int i = 1;i < 5;i++){
                if(v[i] == 2){
                    set_instruction(v, 1, letra(i));
                    return;
                }
            }
            return;
        }
        if(v[0] == 2){
            for(int i = 1;i < 5;i++){
                if(v[i] == 1){
                    for(int j = 1;j < 5;j++){
                        if(v[j] == 2){
                            set_instruction(v, 1, letra(j));
                            return;
                        }
                    }
                    set_instruction(v, 1, 'T');
                    return;
                }
            }
        }
        if(v[0] == 0){
            set_instruction(v, 2, 'H');
            return;
        }
        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++){
            if(v[i] == 2){
                set_instruction(v, 3, letra(i));
                return;
            }
        }
        return;
    }
    for(int i = -2;i < 4;i++){
        v.push_back(i);
        backtrack(v);
        v.pop_back();
    }
}

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...