답안 #225337

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
225337 2020-04-20T09:32:33 Z kshitij_sodani 도서관 (JOI18_library) C++17
0 / 100
1208 ms 512 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=-1;
		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 Incorrect 230 ms 384 KB Wrong Answer [5]
2 Incorrect 38 ms 256 KB Wrong Answer [5]
3 Incorrect 249 ms 256 KB Wrong Answer [5]
4 Incorrect 170 ms 256 KB Wrong Answer [5]
5 Incorrect 54 ms 256 KB Wrong Answer [5]
6 Incorrect 247 ms 256 KB Wrong Answer [5]
7 Incorrect 173 ms 256 KB Wrong Answer [5]
8 Incorrect 38 ms 256 KB Wrong Answer [5]
9 Incorrect 265 ms 256 KB Wrong Answer [5]
10 Incorrect 27 ms 384 KB Wrong Answer [5]
11 Correct 5 ms 256 KB # of queries: 0
12 Incorrect 5 ms 384 KB Wrong Answer [6]
13 Incorrect 5 ms 256 KB Wrong Answer [6]
14 Incorrect 5 ms 384 KB Wrong Answer [6]
15 Incorrect 10 ms 384 KB Wrong Answer [6]
16 Incorrect 10 ms 384 KB Wrong Answer [6]
# 결과 실행 시간 메모리 Grader output
1 Incorrect 230 ms 384 KB Wrong Answer [5]
2 Incorrect 38 ms 256 KB Wrong Answer [5]
3 Incorrect 249 ms 256 KB Wrong Answer [5]
4 Incorrect 170 ms 256 KB Wrong Answer [5]
5 Incorrect 54 ms 256 KB Wrong Answer [5]
6 Incorrect 247 ms 256 KB Wrong Answer [5]
7 Incorrect 173 ms 256 KB Wrong Answer [5]
8 Incorrect 38 ms 256 KB Wrong Answer [5]
9 Incorrect 265 ms 256 KB Wrong Answer [5]
10 Incorrect 27 ms 384 KB Wrong Answer [5]
11 Correct 5 ms 256 KB # of queries: 0
12 Incorrect 5 ms 384 KB Wrong Answer [6]
13 Incorrect 5 ms 256 KB Wrong Answer [6]
14 Incorrect 5 ms 384 KB Wrong Answer [6]
15 Incorrect 10 ms 384 KB Wrong Answer [6]
16 Incorrect 10 ms 384 KB Wrong Answer [6]
17 Runtime error 324 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
18 Runtime error 312 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
19 Runtime error 954 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
20 Runtime error 288 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
21 Runtime error 296 ms 500 KB Execution killed with signal 11 (could be triggered by violating memory limits)
22 Runtime error 306 ms 372 KB Execution killed with signal 11 (could be triggered by violating memory limits)
23 Runtime error 1034 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
24 Runtime error 152 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
25 Runtime error 299 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
26 Runtime error 279 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
27 Runtime error 447 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
28 Runtime error 878 ms 376 KB Execution killed with signal 11 (could be triggered by violating memory limits)
29 Runtime error 999 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)
30 Runtime error 1208 ms 504 KB Execution killed with signal 11 (could be triggered by violating memory limits)