Submission #1340624

#TimeUsernameProblemLanguageResultExecution timeMemory
1340624axtelnLibrary (JOI18_library)C++20
0 / 100
97 ms428 KiB
#include <cstdio>
#include <vector>
#include <iostream>
#include "library.h"
using namespace std;

vector<int> graph[1001];
vector<bool> vis(1001,0);
vector<int> res(1001);
int st=-1,en=-1;

void dfs(int x,int cnt,int N){
	res[cnt]=x;
	if (cnt==N) return;
	vis[x]=1;
	for (int i:graph[x]){
		if (vis[i]) continue;
		vis[i]=1;
		dfs(i,cnt+1,N);
	}
}

void Solve(int N)
{
	vector<int> fuck(N,0);

	for(int i=0;i<N-1;i++) {
		fuck[i]=1;
		for (int j=i+1;j<N;j++){
			fuck[j]=1;
			int nig = Query(fuck);
			/*
			cout << i << " " << j << " " << nig << "\n";
			for (int k=0;k<N;k++){
				cout << fuck[k] << " ";
			}cout << "\n";
			*/
			if (nig==1){
				graph[i+1].push_back(j+1);
				graph[j+1].push_back(i+1);
			}fuck[j]=0;
		}fuck[i]=0;
	}
	/*
	for (int i=1;i<=N;i++){
		cout << i << " -> ";
		for (int j:graph[i]){
			cout << j << " ";
		}cout << '\n';
	}
	*/
	for (int i=1;i<=N;i++){
		if (graph[i].size()==1 && st==-1)st=i;
		else if (graph[i].size()==1) en=i;
	}
	//cout << st << " " << en << "\n";
	res.resize(N);
	dfs(st,0,N);
	/*
	for (int i=0;i<N;i++){
		cout << res[i] << " ";
	}
	*/
	Answer(res);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...