답안 #590165

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
590165 2022-07-05T15:25:09 Z fabijan_cikac Art Collections (BOI22_art) C++17
0 / 100
3000 ms 208 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);
	}
	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[(x + 1) % N] - l[x] != N - i - 1) ++x;
		sol.push_back(x + 1); bio[x] = 1;
		int y = (x - 1 + N) % N; int cnt = 1;
		//cout << 'b' << ' ' << y << endl;
		while (y != x){
			if (!bio[y]){
				l[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 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 0 ms 208 KB Output is correct
4 Correct 0 ms 208 KB Output is correct
5 Execution timed out 3086 ms 208 KB Time limit exceeded
6 Halted 0 ms 0 KB -