Submission #1234659

#TimeUsernameProblemLanguageResultExecution timeMemory
1234659MuhammadSaramPrisoner Challenge (IOI22_prison)C++20
80 / 100
7 ms1096 KiB
#include "prison.h"
#include <bits/stdc++.h>

using namespace std;

vector<vector<int>> devise_strategy(int n)
{
	vector<vector<int>> ans(23,vector<int>(n+1));
	for (int i=1;i<=n;i++)
	{
		int x=i;
		for (int j=0;j<7;j++) x/=3;
		ans[0][i]=x+1;
	}
	for (int x=1;x<=21;x++)
	{
		int b=(x+2)/3;
		ans[x][0]=b%2;
		for (int i=1;i<=n;i++)
		{
			int y=i;
			for (int j=0;j<7-b;j++) y/=3;
			if (y/3%3<(x-1)%3) ans[x][i]=-1-b%2;
			else if(y/3%3>(x-1)%3) ans[x][i]=-2+b%2;
			else if (x<=18)
				ans[x][i]=b*3+y%3+1;
			else
			{
				if (y%3==2) ans[x][i]=-2+b%2;
				else if(y%3==0) ans[x][i]=-1-b%2;
				else ans[x][i]=22;
			}
		}
	}
	for (int i=1;i<=n;i++)
		if (i%3==2) ans[22][i]=-2;
		else if(i%3==0) ans[22][i]=-1;
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...