답안 #590169

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
590169 2022-07-05T15:30:57 Z fabijan_cikac Art Collections (BOI22_art) C++17
0 / 100
1 ms 336 KB
#include <bits/stdc++.h>

using namespace std;

#include "art.h"

const int MAXN = 4010;

/*int publish(vector<int> v){
	cout << "u: ";
	for (int i = 0; i < v.size(); ++i)
		cout << v[i] << ' ';
	cout << endl;
	int x; cin >> x; return x;
}

void answer(vector<int> v){
	for (int i = 0; i < v.size(); ++i) cout << v[i] << ' ';
}*/

int l[MAXN]; int bio[MAXN] = { 0 };
void solve(int N){
	vector<int> sol; vector<int> v;
	for (int i = 1; i <= N; ++i)
		v.push_back(i);
	for (int i = 0; i < N; ++i){
		l[i] = publish(v); reverse(v.begin(), v.end());
		v.pop_back(); reverse(v.begin(), v.end()); v.push_back(i + 1);
	}
	vector<int> s;
	for (int i = 0; i < N; ++i){
		/*for (int i = 0; i < N; ++i)
			cout << bio[i] << ' ';
		cout << endl;*/
		if (i == N - 1){
			int x = 0;
			while (bio[x]) ++x;
			//cout << x << endl;
			sol.push_back(x + 1); break;
		}
		int x = 0;
		while (l[s[(x + 1) % N]] - l[s[x]] != N - i - 1) ++x;
		sol.push_back(s[x] + 1); bio[s[x]] = 1;
		s.erase(s.begin() + x);
		int y = (x - 1 + N) % N; int cnt = 1;
		//cout << 'b' << ' ' << y << endl;
		while (y != x){
			l[s[y]] -= cnt; ++cnt;
			y = (y - 1 + N) % N;
		}
		//cout << 'a' << endl;
	}
	answer(sol);
}

/*int main(){
	solve(3);
}*/

Compilation message

interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 336 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -