AGC 006 B - Median Pyramid Easy
解法
22のように繋がったものが中央にあれば良い。または、45のような時、隣の数がなんでも答えは4,5のどちらかになる。(中間の数がないため)それを利用して真ん中に345 のように置くと、上も同じようになる。
問題の芯
とりあえず試すべき。感覚的に中央にxを置くのが自然であり、いろいろ試せば回答できるはず。
public static void main(String[] args) { N = sc.nextInt(); int x = sc.nextInt(); int width = (N) * 2 - 1; if( x==1 || x == width){ System.out.println("No"); return; } if(N==2){ System.out.println("Yes"); System.out.println("1"); System.out.println("2"); System.out.println("3"); return; } A = new int[width]; A[N-2] = x-1; A[N-1] = x; A[N] = x+1; for (int i = 1,pos = 0; pos < width; ) { if(i == x || i == x-1 || i==x+1){ i++; continue; } if(A[pos] != 0){ pos++; continue; } A[pos] = i; pos++; i++; } System.out.println("Yes"); for (int i = 0; i < width; i++) { System.out.println(A[i]); } }