제출 #1233871

#제출 시각아이디문제언어결과실행 시간메모리
1233871MuhammadSaram로봇 대회 (IOI23_robot)C++20
24 / 100
68 ms5960 KiB
#include "robot.h"
#include <bits/stdc++.h>

using namespace std;

#define set set_instruction

char get(int i,int j,int k,int l,int x)
{
	if (i==x) return 'W';
	if (j==x) return 'S';
	if (k==x) return 'E';
	if (l==x) return 'N';
	return 'H';
}

void program_pulibot()
{
	for (int cur=0;cur<=5;cur++)
		for (int i=-2;i<=5;i++)
			for (int j=-2;j<=5;j++)
				for (int k=-2;k<=5;k++)
					for (int l=-2;l<=5;l++)
					{
						if (cur==0)
							set({0,i,j,k,l},1,'H');
						else if(cur==1)
						{
							// post dfs
							if (j==-2 && k==-2)
								set({cur,i,j,k,l},3,'H');
							else if (get(i,j,k,l,3)!='H')
								set({cur,i,j,k,l},3,'H');
							// dfs
							else
							{
								char c=get(i,j,k,l,0);
								if (c=='H')
								{
									c=get(i,j,k,l,1);
									set({cur,i,j,k,l},2,c);
								}
								else
									set({cur,i,j,k,l},1,c);
							}
						}
						else if(cur==2)
							set({cur,i,j,k,l},4,'H');
						else if(cur==3)
						{
							char c=get(i,j,k,l,2);
							if (c!='H')
								set({cur,i,j,k,l},3,c);
							else
							{
								c=get(i,j,k,l,1);
								if (c!='H')
									set({cur,i,j,k,l},3,c);
								else
									set({cur,i,j,k,l},5,'H');
							}
						}
						else if(cur==4)
						{
							char c=get(i,j,k,l,2);
							if (c!='H')
								set({cur,i,j,k,l},4,c);
							else
							{
								char c=get(i,j,k,l,4);
								if (c!='H')
									set({cur,i,j,k,l},0,c);
								else
									set({cur,i,j,k,l},0,get(i,j,k,l,3));
							}
						}
						else
						{
							char c=get(i,j,k,l,3);
							if (c!='H')
								set({cur,i,j,k,l},5,c);
							else
							{
								c=get(i,j,k,l,5);
								if (c=='H') c='T';
								set({cur,i,j,k,l},1,c);
							}
						}
					}
}
#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...