Submission #139479

#TimeUsernameProblemLanguageResultExecution timeMemory
139479MohamedAhmed04Library (JOI18_library)C++14
19 / 100
3101 ms376 KiB
#include <bits/stdc++.h> 
#include "library.h"
//#include "grader.cpp"

using namespace std;

int l[2005] , r[2005] , marked[2005];

void Solve(int N)
{
	memset(marked , 0 , sizeof(marked)) ;
	memset(l , -1 , sizeof(l)) ;
	memset(r , -1 , sizeof(r)) ;
	vector<int> M(N);
	for(int i = 0 ; i < N ; ++i)
		M[i] = 0 ;
	for(int i = 0 ; i < N ; ++i)
	{
		for(int j = i+1 ; j < N ; ++j)
		{
			M[i] = 1 ;
			M[j] = 1 ;
			int x = Query(M) ;
			M[i] = 0 ;
			M[j] = 0 ;
			if(x == 1)
			{
				if(l[i] == -1)
					l[i] = j ;
				else
					r[i] = j ;
				if(l[j] == -1)
					l[j] = i ;
				else
					r[j] = i ;
			}
		}
	}
	vector<int>res(N) ;
	int nxt = -1 ;
	for(int i = 0 ; i < N ; ++i)
	{
		if(r[i] == -1)
		{
			nxt = i ;
			break ;
		}
	}
	res[0] = nxt + 1 ;
	marked[nxt] = 1 ;
	nxt = l[nxt] ;
	for(int i = 1 ; i < N ; ++i)
	{
		res[i] = nxt+1 ;
		marked[nxt] = 1 ;
		if(marked[l[nxt]])
			nxt = r[nxt] ;
		else
			nxt = l[nxt] ;
	}
	Answer(res) ;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...