Submission #1244414

#TimeUsernameProblemLanguageResultExecution timeMemory
1244414porquenomedejainiciarsesionRobot Contest (IOI23_robot)C++20
59 / 100
114 ms6272 KiB
#include "robot.h"
#include <bits/stdc++.h>
using namespace std;
void create(int ac,int oe,int su,int es,int no){
    vector<int> V={oe,su,es,no};
    vector<char> L={'W','S','E','N'};
    if(ac==0 && no==-2 && oe==-2){
        set_instruction({ac,oe,su,es,no},4,'H');
        return;
    }
    if(ac==0 && su==-2 && es==-2){
        set_instruction({ac,oe,su,es,no},1,'H');
        return;
    }
    if(no==-2 && oe==-2){
        bool path=false;
        for(int i=0;i<4;i++){
            if(V[i]==1){
                path=true;
            }
        }
        if(path){
            set_instruction({ac,oe,su,es,no},1,'T');
            return;
        }
    }
    if(ac==1){
        for(int i=0;i<4;i++){
            if(V[i]!=0 && V[i]!=-1 && V[i]!=-2){
                set_instruction({ac,oe,su,es,no},1,L[i]);
                return;
            }
        }
    }
    if(ac==2){
        bool path=false;
        for(int i=0;i<4;i++){
            if(V[i]==1){
                path=true;
            }
        }
        if(path){
            for(int i=0;i<4;i++){
            if(V[i]==7){
                set_instruction({ac,oe,su,es,no},1,L[i]);
                return;
            }
        }
        }
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},2,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==3){
                set_instruction({ac,oe,su,es,no},2,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==7){
                set_instruction({ac,oe,su,es,no},5,L[i]);
                return;
            }
        }
    }
    if(ac==3){
        bool path=false;
        for(int i=0;i<4;i++){
            if(V[i]==1){
                path=true;
            }
        }
        if(path){
            for(int i=0;i<4;i++){
            if(V[i]==2){
                set_instruction({ac,oe,su,es,no},1,L[i]);
                return;
            }
        }
        }
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},3,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==7){
                set_instruction({ac,oe,su,es,no},3,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==2){
                set_instruction({ac,oe,su,es,no},6,L[i]);
                return;
            }
        }
    }
    if(ac==4){
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},4,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==5){
                set_instruction({ac,oe,su,es,no},4,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==6){
                set_instruction({ac,oe,su,es,no},7,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==2){
                set_instruction({ac,oe,su,es,no},7,L[i]);
                return;
            }
        }
    }
    if(ac==5){
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},5,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==6){
                set_instruction({ac,oe,su,es,no},5,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==4){
                set_instruction({ac,oe,su,es,no},2,L[i]);
                return;
            }
        }
    }
    if(ac==6){
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},6,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==4){
                set_instruction({ac,oe,su,es,no},6,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==5){
                set_instruction({ac,oe,su,es,no},3,L[i]);
                return;
            }
        }
    }
    if(ac==7){
        bool path=false;
        for(int i=0;i<4;i++){
            if(V[i]==1){
                path=true;
            }
        }
        if(path){
            for(int i=0;i<4;i++){
            if(V[i]==3){
                set_instruction({ac,oe,su,es,no},1,L[i]);
                return;
            }
        }
        }
        for(int i=0;i<4;i++){
            if(V[i]==0){
                set_instruction({ac,oe,su,es,no},7,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==2){
                set_instruction({ac,oe,su,es,no},7,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==3){
                set_instruction({ac,oe,su,es,no},4,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==5){
                set_instruction({ac,oe,su,es,no},4,L[i]);
                return;
            }
        }
    }
    if(ac==0){
        for(int i=0;i<4;i++){
            if(V[i]==7){
                set_instruction({ac,oe,su,es,no},5,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==2){
                set_instruction({ac,oe,su,es,no},6,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==6){
                set_instruction({ac,oe,su,es,no},7,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==3){
                set_instruction({ac,oe,su,es,no},4,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==4){
                set_instruction({ac,oe,su,es,no},2,L[i]);
                return;
            }
        }
        for(int i=0;i<4;i++){
            if(V[i]==5){
                set_instruction({ac,oe,su,es,no},3,L[i]);
                return;
            }
        }
    }
}
void program_pulibot()
{
    for (int a = -2; a <= 7; a++) {
        for (int b = -2; b <= 7; b++) {
            for (int c = -2; c <= 7; c++) {
                for (int d = -2; d <= 7; d++) {
                    for (int e = -2; e <= 7; e++) {
                        create(a,b,c,d,e);
                    }
                }
            }
        }
    }
} 
#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...