Submission #1316274

#TimeUsernameProblemLanguageResultExecution timeMemory
1316274candi_ositosRobot Contest (IOI23_robot)C++20
6 / 100
38 ms6248 KiB
#include "robot.h" #include <bits/stdc++.h> using namespace std; int li=-2; int wa=-1; int ns=0; int ex=3; int md=7; int ret=1; int qu=6; #define exp ex #define p(a, b, c) set_instruction(a, b, c) void si(int n, int e, int s, int w, int m){ vector <int> ac(5); ac[0]=m; ac[4]=n; ac[3]=e; ac[2]=s; ac[1]=w; if(n==md || s==md || e==md || w==md){ if(s==li && e==li){ if(n==md){ p(ac, ret, 'N'); return; } if(w==md){ p(ac, ret, 'W'); return; } return; } if(m==md){ if(n==md){ p(ac, ret, 'N'); return; } if(s==md){ p(ac, ret, 'S'); return; } if(e==md){ p(ac, ret, 'E'); return; } if(w==md){ p(ac, ret, 'W'); return; } return; } if(n>=ret && n<=ex){ p(ac, md, 'N'); return; } if(s>=ret && s<=ex){ p(ac, md, 'S'); return; } if(e>=ret && e<=ex){ p(ac, md, 'E'); return; } if(w>=ret && w<=ex){ p(ac, md, 'W'); return; } return; } if(n==li && w==li){ if(m==md){ p(ac, ret, 'T'); return; } if((s>=ret) && (s<=ex)){ if(e>ns){ p(ac, (m-1)%3+1, 'E'); return; } if(e>wa){ p(ac, md, 'S'); return; } } if((e>=ret) && (e<=ex)){ if(s>ns){ p(ac, (m-1)%3+1, 'S'); return; } if(s>wa){ p(ac, md, 'E'); return; } } if(m==ret){ p(ac, ret, 'T'); return; } if(m>exp && m<md){ int adp=m; int dp=m; ++dp; --adp; if(adp==exp){ adp=md-1; } if(dp==md){ dp=exp+1; } if(e==ret || s==ret){ p(ac, ret, 'T'); return; } if(e==m){ if(s==m || s==wa || s==md){ p(ac, adp, 'E'); return; } if(e==m || e==wa || e==md){ p(ac, m, 'S'); return; } return; } if(e==ns || e==dp){ p(ac, m, 'E'); return; } if(s==ns || s==dp){ p(ac, m, 'S'); return; } if(e==wa || e==md){ p(ac, adp, 'S'); return; } if(s==wa || s==md){ p(ac, adp, 'E'); return; } } if(e==wa || e==md){ p(ac, exp+1, 'S'); return; } p(ac, exp+1, 'E'); return; } if(s==li && e==li){ if(n>exp && n<md){ p(ac, (n%3+1), 'N'); return; } if(w>exp && w<md){ p(ac, (w%3+1), 'W'); return; } return; } if(m==ns){ if(n>exp && n<md){ p(ac, n, 'N'); return; } if(s>exp && s<md){ p(ac, s, 'S'); return; } if(e>exp && e<md){ p(ac, e, 'E'); return; } if(w>exp && w<md){ p(ac, w, 'W'); return; } return; } if(m<=ex){ int xfce=m+4; if(xfce==md){ xfce=ex+1; } if(n==xfce){ p(ac, m, 'N'); return; } if(s==xfce){ p(ac, m, 'S'); return; } if(e==xfce){ p(ac, m, 'E'); return; } if(w==xfce){ p(ac, m, 'W'); return; } if(n==m+3){ p(ac, m, 'N'); return; } if(s==m+3){ p(ac, m, 'S'); return; } if(e==m+3){ p(ac, m, 'E'); return; } if(w==m+3){ p(ac, m, 'W'); return; } xfce-=3; if((n==m || s==m || e==m || w==m) && (n==xfce || e==xfce || s==xfce || w==xfce)){ if(n==xfce){ p(ac, xfce, 'N'); return; } if(s==xfce){ p(ac, xfce, 'S'); return; } if(e==xfce){ p(ac, xfce, 'E'); return; } if(w==xfce){ p(ac, xfce, 'W'); return; } } if(n==(m-1)%3+1){ p(ac, ns, 'N'); return; } if(s==(m-1)%3+1){ p(ac, ns, 'S'); return; } if(e==(m-1)%3+1){ p(ac, ns, 'E'); return; } if(w==(m-1)%3+1){ p(ac, ns, 'W'); return; } xfce=1+xfce%3; if(n==xfce){ p(ac, ns, 'N'); return; } if(s==xfce){ p(ac, ns, 'S'); return; } if(e==xfce){ p(ac, ns, 'E'); return; } if(w==xfce){ p(ac, ns, 'W'); return; } xfce+=3; if(n==xfce){ p(ac, m, 'N'); return; } if(s==xfce){ p(ac, m, 'S'); return; } if(e==xfce){ p(ac, m, 'E'); return; } if(w==xfce){ p(ac, m, 'W'); return; } if(n>exp && n<md){ p(ac, m, 'N'); return; } if(w>exp && w<md){ p(ac, m, 'W'); return; } if(s>exp && s<md){ p(ac, m, 'S'); return; } if(e>exp && e<md){ p(ac, m, 'E'); return; } return; } if((n<=ex && n>=ret) || (s<=ex && s>=ret) || (e<=ex && e>=ret) || (w<=ex && w>=ret)){ int npa=m+1; if(npa==md){ npa=ex+1; } if(n==npa){ p(ac, m-3, 'N'); return; } if(s==npa){ p(ac, m-3, 'S'); return; } if(e==npa){ p(ac, m-3, 'E'); return; } if(w==npa){ p(ac, m-3, 'W'); return; } if(n==m){ p(ac, m-3, 'N'); return; } if(s==m){ p(ac, m-3, 'S'); return; } if(e==m){ p(ac, m-3, 'E'); return; } if(w==m){ p(ac, m-3, 'W'); return; } if(n==(m-1)%3+1){ p(ac, ns, 'N'); return; } if(s==(m-1)%3+1){ p(ac, ns, 'S'); return; } if(e==(m-1)%3+1){ p(ac, ns, 'E'); return; } if(w==(m-1)%3+1){ p(ac, ns, 'W'); return; } npa=1+npa%3; if(n==npa){ p(ac, ns, 'N'); return; } if(s==npa){ p(ac, ns, 'S'); return; } if(e==npa){ p(ac, ns, 'E'); return; } if(w==npa){ p(ac, ns, 'W'); return; } if(n==npa+3){ p(ac, m-3, 'N'); return; } if(s==npa+3){ p(ac, m-3, 'S'); return; } if(e==npa+3){ p(ac, m-3, 'E'); return; } if(w==npa+3){ p(ac, m-3, 'W'); return; } return; } if(m==md && (e==ret || s==ret || w==ret || n==ret)){ } if(e==ns){ p(ac, m, 'E'); return; } if(s==ns){ p(ac, m, 'S'); return; } if(w==ns){ p(ac, m, 'W'); return; } if(n==ns){ p(ac, m, 'N'); return; } int mnd=m; ++mnd; if(mnd==md){ mnd=exp; } if(n==mnd || s==mnd || e==mnd || w==mnd){ if(e==mnd){ p(ac, m, 'E'); return; } if(s==mnd){ p(ac, m, 'S'); return; } if(w==mnd){ p(ac, m, 'W'); return; } if(n==mnd){ p(ac, m, 'N'); return; } return; } if(m>exp && m<md){ int amnd=m; ++amnd; if(amnd==md){ amnd=exp+1; } if(e==amnd){ p(ac, m, 'E'); return; } if(s==amnd){ p(ac, m, 'S'); return; } if(w==amnd){ p(ac, m, 'W'); return; } if(n==amnd){ p(ac, m, 'N'); return; } int mru=m; --mru; if(mru<=exp){ mru=md-1; } if(n==m || s==m || e==m || w==m){ if(e==mru){ p(ac, e, 'E'); return; } if(s==mru){ p(ac, s, 'S'); return; } if(w==mru){ p(ac, w, 'W'); return; } if(n==mru){ p(ac, n, 'N'); return; } } if(e==mru){ p(ac, e, 'E'); return; } if(s==mru){ p(ac, s, 'S'); return; } if(w==mru){ p(ac, w, 'W'); return; } if(n==mru){ p(ac, n, 'N'); return; } } return; } void program_pulibot(){ for(int i=-2; i<=md; ++i){ for(int j=-2; j<=md; ++j){ for(int k=-2; k<=md; ++k){ for(int l=-2; l<=md; ++l){ for(int m=0; m<=md; ++m){ si(i, j, k, l, m); } } } } } return; }
#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...