Submission #884879

#TimeUsernameProblemLanguageResultExecution timeMemory
884879irmuunRobot Contest (IOI23_robot)C++17
0 / 100
1 ms348 KiB
#include<bits/stdc++.h>
#include "robot.h"
 
using namespace std;
 
#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()

//west-zuun
//south-dood
//east-baruun
//north-deed
string s="TWSEN";
vector<int>u[5];
/*
map<vector<int>,pair<int,char>>mp;

vector<int>cur;

void set_instruction(vector<int>v,int col,char c){
    mp[v]={col,c};
}
*/
void program_pulibot(){
    u[0]={1,2,3,4};
    u[1]={2,3,4};
    u[2]={3,4,1};
    u[3]={4,1,2};
    u[4]={1,2,3};
    vector<int>v(5);
    v[0]=0;
    for(v[0]=0;v[0]<=4;v[0]++){
        for(v[1]=-2;v[1]<=4;v[1]++){
            for(v[2]=-2;v[2]<=4;v[2]++){
                for(v[3]=-2;v[3]<=4;v[3]++){
                    for(v[4]=-2;v[4]<=4;v[4]++){
                        if(v[2]==-2&&v[3]==-2){
                            set_instruction(v,1,s[0]);
                            continue;
                        }
                        bool found=false;
                        int nxt,f=-1;
                        for(int i=0;i<4;i++){
                            if(v[u[v[0]][i]]==0){
                                nxt=u[v[0]][i];
                                found=true;
                                break;
                            }
                            if(v[u[v[0]][i]]>=0&&f==-1){
                                f=u[v[0]][i];
                            }
                        }
                        if(found){
                            set_instruction(v,nxt,s[nxt]);
                        }
                        else{
                            set_instruction(v,0,s[f]);
                        }
                    }
                }
            }
        }
    }
}

/*

int main(){
    program_pulibot();
    int n,m;
    cin>>n>>m;
    int ch[n+2][m+2];
    for(int i=0;i<=n+1;i++){
        for(int j=0;j<=m+1;j++){
            cin>>ch[i][j];
        }
    }
    int x=1,y=1;
    vector<int>state={0,-2,0,0,-2};
    int tot=10;
    while(true&&tot--){
        if(x<1||y<1||x>n||y>m) break;
        state={ch[x][y],ch[x][y-1],ch[x+1][y],ch[x][y+1],ch[x-1][y]};
        for(auto z:state){
            cout<<z<<' ';
        }
        cout<<"\n";
        int clr=mp[state].ff;
        char nxt=mp[state].ss;
        cout<<"CUR "<<clr<<' '<<nxt<<"\n";
        if(nxt=='T') break;
        ch[x][y]=clr;
        if(nxt=='W') y--;
        if(nxt=='S') x++;
        if(nxt=='E') y++;
        if(nxt=='N') x--;
        cout<<x<<' '<<y<<"\n";
    }
    cout<<"END "<<x<<' '<<y<<"\n";
}
*/
#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...