제출 #298304

#제출 시각아이디문제언어결과실행 시간메모리
298304FlashGamezzz사육제 (CEOI14_carnival)Java
0 / 100
124 ms12708 KiB
import java.io.*;
import java.util.*;

public class carnival {
	static Random rng = new java.util.Random(28);
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		int[] prefs = new int[n];
		prefs[0] = 1;
		String s = "1";
		for (int i = 1; i < n; i++) {
			s += " " + Integer.toString(i+1);
			System.out.println((i+1) + " " + s);
			System.out.flush();
			prefs[i] = Integer.parseInt(br.readLine());
		}
		int[] vals = new int[n];
		vals[0] = 1;
		int count = 2;
		for (int i = 1; i < n; i++) {
			if (prefs[i] == prefs[i-1]+1) {
				vals[i] = count;
				count++;
			}
		}
		ArrayList<Integer> nums = new ArrayList<Integer>();
		for (int i = 0; i < n; i++) {
			if (vals[i] == 0) {
				ArrayList<Integer> temp = new ArrayList<Integer>();
				temp.addAll(nums);
				while (temp.size() > 1) {
					int ind = rng.nextInt(nums.size()), v = temp.get(ind);
					System.out.println("2 " + Integer.toString(v) + " " + (i+1));
					System.out.flush();
					int in = Integer.parseInt(br.readLine());
					if (in == 1) {
						vals[i] = v;
						break;
					}
					temp.remove(ind);
				}
				if (vals[i] == 0) {
					vals[i] = temp.get(0);
				}
			} else {
				nums.add(vals[i]);
			}
		}
		System.out.print("0");
		for (int i = 0; i < n; i++) {
			System.out.print(" " + vals[i]);
		}
		System.out.println();
      	return;
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...