Submission #1144852

#TimeUsernameProblemLanguageResultExecution timeMemory
1144852SmuggingSpunLibrary (JOI18_library)C++20
0 / 100
91 ms412 KiB
#include "library.h"
#include<bits/stdc++.h>
using namespace std;
void Solve(int n){
	vector<int>M(n);
	if(n <= 200){
		vector<pair<int, int>>near(n, make_pair(-1, -1));
		for(int i = 0; i < n; i++){
			for(int j = i + 1; j < n; j++){
				fill(M.begin(), M.end(), 0);
				M[i] = M[j] = 1;
				if(Query(M) == 1){
					if(near[i].first == -1){
						near[i].first = j;
					}
					else{
						near[i].second = j;
					}
					if(near[j].first == -1){
						near[j].first = i;
					}
					else{
						near[j].second = i;
					}
				}
			}
		}
		vector<int>ans;
		for(int i = 0; i < n; i++){
			if(near[i].second == -1){
				ans.emplace_back(i);
				int pre = i;
				i = near[i].first;
				while(true){
					ans.emplace_back(i);
					if(near[i].second == -1){
						break;
					}
					int temp = i;
					i = near[i].first ^ near[i].second ^ pre;
					pre = temp;
				}
				break;
			}
		}
		Answer(ans);
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...