답안 #582031

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
582031 2022-06-23T09:48:30 Z almothana05 도서관 (JOI18_library) C++14
컴파일 오류
0 ms 0 KB
#include <cstdio>
#include <vector>
#include <bits\stdc++.h>
#include "library.h"
using namespace std;
int f[2000];
vector<int>num , erge;
set<int>comp;
deque<int> ed[2000];
void Solve(int menge){
	int erg , cmp , numm , nummer;
	vector<int> M(menge);
	for(int i = 0 ; i > menge ; i++){
		M[i] = 0;
	}
	for(int i = 0 ; i < menge ;i++){
		num.push_back(i + 1);
	}
	for(int i = 1; i <= menge ; i++){
		
		ed[i].push_back(i);
	}
	int st , en , mit;
	erg = 1;
	// cout << "ja\n";
	for(int i = 2 ; i <= menge ; i++){

		for(int j = 1 ; j <= i ;j++){
			M[j - 1] = 1;
		}
		// for(int j = 0 ; j < M.size() ; j++){
		// 	cout << M[j] << " ";
		// }
		// cout << "\n";
		numm = Query(M);
		for(int j = 1 ; j <= i ;j++){
			M[j] = 0;
		}
		// cout << erg << ' ' << numm << "\n";
		if(numm == erg){
			// cout << "eins\n";
			st = 1; en = i - 1;
			while(st <= en){
				mit = (st + en)/2;
				// cout << mit << ' ';
				for(int j = 0 ; j < menge ; j++){
					if(num[j] <= mit){
						M[j] = 1;
						comp.insert(num[j]);
					}
				}
				M[i - 1] = 1;
				// for(int j = 0 ; j < menge ; j++){
					// cout << M[j] << ' ';
				// }
				// cout << "\n";
				nummer = Query(M);
				// cout << numm << "\n";
				for(int j = 0 ; j < menge ; j++){
					M[j] = 0;
				}

				if(nummer == comp.size()){
					// cout << "en\n";
					en = mit - 1;
				}
				else{
					st = mit + 1;
					// cout << "st\n";
				}
				comp.clear();
			}
			// cout << st << "\n";
			// cout << ed[st].size() << "\n";
			num[i - 1] = st;
			M[i - 1] = 1;
			M[ed[st].front() - 1] = 1;
			if(Query(M) == 1){
				ed[st].push_front(i);
			}
			else{
				ed[st].push_back(i);
			}
			M[i - 1] = 0;
			M[ed[st].front()] = 0;
		}
		else if(numm < erg){
			// cout << "zwei\n";
			int er ,zw;
			st = 1; en = i - 1;
			while(st <= en){
				mit = (st + en)/2;
				for(int j = 0 ; j < menge ; j++){
					if(num[j] <= mit){
						M[j] = 1;
						comp.insert(num[j]);
					}
				}
				M[i - 1] = 1;
				nummer = Query(M);
				
				for(int j = 0 ; j < menge ; j++){
					M[j] = 0;
				}

				if(nummer <= comp.size()){
					en = mit - 1;
				}
				else{
					st = mit + 1;
				}
				comp.clear();
			}
			er = st;
			M[i - 1] = 1;
			M[ed[st].front() - 1] = 1;
			if(Query(M) == 1){
				ed[st].push_front(i) ;
			}
			else{
				ed[st].push_back(i) ;
			}
			M[i - 1] = 0;
			M[ed[st].front()] = 0;



			st = 1; en = i - 1;
			while(st <= en){
				mit = (st + en)/2;
				// cout << mit << "\n";
				for(int j = 0 ; j < menge ; j++){
					if(num[j] <= mit){
						M[j] = 1;
						comp.insert(num[j]);
					}
				}
				M[i - 1] = 1;
				
				nummer = Query(M);
				for(int j = 0 ; j < menge ; j++){
					M[j] = 0;
				}

				if(nummer < comp.size()){
					en = mit - 1;
				}
				else{
					st = mit + 1;
				}
				comp.clear();
			}
			zw = st;
			// cout << er << ' ' << zw << "\n";
			M[i - 1] = 1;
			M[ed[st].front() - 1] = 1;
			if(Query(M) == 1){
				ed[st].push_front(i);
			}
			else{
				ed[st].push_back(i);
			}
			M[i - 1] = 0;
			M[ed[st].front()] = 0;

			if(ed[er].front() == ed[zw].back()){
				ed[er].pop_front();
				while(ed[zw].size()){
					num[ed[zw].back() - 1] = er;
					ed[er].push_front(ed[zw].back());
					ed[zw].pop_back();
				}
			}
			else if(ed[er].front() == ed[zw].front()){
				ed[er].pop_front();
				while(ed[zw].size()){
					num[ed[zw].front() - 1] = er;
					ed[er].push_front(ed[zw].front());
					ed[zw].pop_front();
				}
			}
			else if(ed[er].back() == ed[zw].front()){
				ed[er].pop_back();
				while(ed[zw].size()){
					num[ed[zw].front() - 1] = er;
					ed[er].push_back(ed[zw].front());
					ed[zw].pop_front();
				}
			}
			else{
				ed[er].pop_back();
				while(ed[zw].size()){
					num[ed[zw].back() - 1] = er;
					ed[er].push_back(ed[zw].back());
					ed[zw].pop_back();
				}
			}
			
		}
		erg = numm;
		// for(int i = 0 ; i < num.size() ; i++){
		// 	cout << num[i] << ' '; 
		// }
		// cout << "\n";
	}
	while(ed[num[0]].size()){
		// cout << ed[num[0]].front() << "\n";
		erge.push_back(ed[num[0]].front());
		ed[num[0]].pop_front();
	}
	Answer(erge);
}

Compilation message

library.cpp:4:10: fatal error: bits\stdc++.h: No such file or directory
    4 | #include <bits\stdc++.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.