답안 #225341

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
225341 2020-04-20T09:35:30 Z kshitij_sodani 도서관 (JOI18_library) C++17
0 / 100
620 ms 632 KB
#include <iostream>
#include <bits/stdc++.h>
#include "library.h"
using namespace std;

#define pb push_back
typedef long long llo;
#define a first
#define b second
int n;
vector<int> aa;
vector<int> bb;
/*
void Answer(vector<int> cc){
	for(auto j:cc)
	{	cout<<j<<" ";
	}
	cout<<endl;
}
int Query(vector<int> cc){
	for(auto j:cc){
		cout<<j<<" ";
	}
	cout<<endl;
	int xx;
	cin>>xx;
	return xx;
}*/
int ll;
void solve(int ind,int l,int r){
	//cout<<l<<" "<<r<<endl;
	if(l==r){
		ll=l;
		return;
		if(aa[l]==0){
			ll=-1;
			return ;
		}

	/*	if(ind==l){
			ll=-1;
			while(true){
				continue;
			}
		}
		else{*/
			for(int i=0;i<n;i++){
				if((ind==i or i==l)){

					bb[i]=1;
				}
				else{
					bb[i]=0;
				}
			}
			int yy=Query(bb);
			if(yy==1){
				aa[l]=0;
				ll=l;
			}
			else{

				ll=-1;

			}
		//}
	}
	else{
		int mid=(l+r)/2;
		int co=0;
		for(int i=0;i<n;i++){
			bb[i]=0;
		}
		for(int i=l;i<=mid;i++){
			if(aa[i]==2){
				bb[i]=1;
				co+=1;
			}
		}
		if(co==0){
			solve(ind,mid+1,r);

		}
		else{
			bb[ind]=1;
			int yy=Query(bb);
			bb[ind]=0;
			int zz=Query(bb);
			if(yy==zz){
				solve(ind,l,mid);
			}
			else{
				for(int i=0;i<n;i++){
					bb[i]=0;
				}
				for(int i=mid+1;i<=r;i++){
					if(aa[i]==2){
						bb[i]=1;
						co+=1;
					}
				}
				bb[ind]=1;
				yy=Query(bb);
				bb[ind]=0;
				zz=Query(bb);
				if(yy==zz){
					solve(ind,mid+1,r);
				}
				else{
					ll=-1;
				}
			}
		}
	}
}
void Solve(int nn){
	n=nn;
	for(int i=0;i<n;i++){
		aa.pb(2);
		bb.pb(0);
	}
	int x=0;
	deque<int> ans;
	ans.push_back(0);
	int st=0;
	int kk=0;
	int le=n-1;
	aa[0]=0;
	int cco=0;

	while(le and cco<3*n){
		cco+=1;
		int y=x;
		ll=-2;

		solve(x,0,n-1);
		if(ll==y){
			while(true){
				continue;
			}
		}

		if(ll!=-1){
			le-=1;
		}
		if(ll==-2){
			while(true){
				continue;
			}
		}
		x=ll;

		if(x==-1){
			x=0;
			st=1;
			kk+=1;
		}
		else{
			if(st==0){
				ans.push_back(x);
			}
			else{
				ans.push_front(x);
			}
		}
		aa[x]=0;
		aa[y]=0;
	}
	vector<int> fin;
	for(int i=0;i<n;i++){
		int x=ans.front();
		ans.pop_front();
		fin.pb(x+1);
	}
	Answer(fin);
}
/*int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	Solve(3);


	return 0;
}*/
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 256 KB # of queries: 3952
2 Incorrect 56 ms 384 KB Wrong Answer [5]
3 Correct 83 ms 256 KB # of queries: 4136
4 Correct 76 ms 256 KB # of queries: 4044
5 Incorrect 50 ms 384 KB Wrong Answer [5]
6 Correct 68 ms 384 KB # of queries: 4116
7 Correct 82 ms 256 KB # of queries: 4020
8 Incorrect 40 ms 256 KB Wrong Answer [5]
9 Correct 81 ms 256 KB # of queries: 4136
10 Incorrect 34 ms 384 KB Wrong Answer [5]
11 Correct 5 ms 256 KB # of queries: 0
12 Correct 5 ms 256 KB # of queries: 0
13 Incorrect 5 ms 256 KB Wrong Answer [8]
14 Correct 6 ms 384 KB # of queries: 8
15 Correct 7 ms 256 KB # of queries: 126
16 Incorrect 9 ms 256 KB Wrong Answer [6]
# 결과 실행 시간 메모리 Grader output
1 Correct 64 ms 256 KB # of queries: 3952
2 Incorrect 56 ms 384 KB Wrong Answer [5]
3 Correct 83 ms 256 KB # of queries: 4136
4 Correct 76 ms 256 KB # of queries: 4044
5 Incorrect 50 ms 384 KB Wrong Answer [5]
6 Correct 68 ms 384 KB # of queries: 4116
7 Correct 82 ms 256 KB # of queries: 4020
8 Incorrect 40 ms 256 KB Wrong Answer [5]
9 Correct 81 ms 256 KB # of queries: 4136
10 Incorrect 34 ms 384 KB Wrong Answer [5]
11 Correct 5 ms 256 KB # of queries: 0
12 Correct 5 ms 256 KB # of queries: 0
13 Incorrect 5 ms 256 KB Wrong Answer [8]
14 Correct 6 ms 384 KB # of queries: 8
15 Correct 7 ms 256 KB # of queries: 126
16 Incorrect 9 ms 256 KB Wrong Answer [6]
17 Runtime error 307 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Runtime error 373 ms 480 KB Execution killed with signal 11 (could be triggered by violating memory limits)
19 Incorrect 620 ms 500 KB Wrong Answer [3]
20 Runtime error 305 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
21 Runtime error 285 ms 380 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Runtime error 322 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
23 Incorrect 517 ms 508 KB Wrong Answer [3]
24 Runtime error 148 ms 484 KB Execution killed with signal 11 (could be triggered by violating memory limits)
25 Runtime error 303 ms 480 KB Execution killed with signal 11 (could be triggered by violating memory limits)
26 Runtime error 292 ms 632 KB Execution killed with signal 11 (could be triggered by violating memory limits)
27 Correct 238 ms 376 KB # of queries: 12496
28 Correct 295 ms 376 KB # of queries: 10068
29 Correct 271 ms 380 KB # of queries: 10062
30 Correct 246 ms 376 KB # of queries: 10068