제출 #1245940

#제출 시각아이디문제언어결과실행 시간메모리
1245940candi_ositosRobot Contest (IOI23_robot)C++20
63 / 100
106 ms6104 KiB
#include "robot.h" #include <bits/stdc++.h> using namespace std; int li=-2; int wa=-1; int ns=0; int ex=1; int md=6; int ret=1; #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(m<0){ return; } if(n==li && w==li){ 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, ret, 'N'); return; } if(w>exp && w<md){ p(ac, ret, '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==ret){ if(n>exp && n<md){ p(ac, ret, 'N'); return; } if(w>exp && w<md){ p(ac, ret, 'W'); return; } if(s>exp && s<md){ p(ac, ret, 'S'); return; } if(e>exp && e<md){ p(ac, ret, 'E'); return; } if(n==ret){ p(ac, ns, 'N'); return; } if(s==ret){ p(ac, ns, 'S'); return; } if(e==ret){ p(ac, ns, 'E'); return; } if(w==ret){ p(ac, ns, 'W'); return; } return; } if(n==ret || s==ret || e==ret || w==ret){ int mwr=m-1; if(mwr<=exp){ mwr=md-1; } if(n==mwr){ p(ac, ret, 'N'); return; } if(s==mwr){ p(ac, ret, 'S'); return; } if(e==mwr){ p(ac, ret, 'E'); return; } if(w==mwr){ p(ac, ret, 'W'); return; } return; } 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, md, 'E'); return; } if(s==mru){ p(ac, md, 'S'); return; } if(w==mru){ p(ac, md, 'W'); return; } if(n==mru){ p(ac, md, '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...