아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

방정식 부수기

시간 제한1초메모리 제한128 MB

요약
주어진 집합에서 여섯 개의 덧셈 등식을 만족하는 열두 값을 사전 순으로 가장 작게 찾습니다.
난이도

보통10점 중 6점

유형
해시맵, 완전 탐색, 정렬, 백트래킹
정답자
아직 제출이 없습니다

문제

집합 A={a1,a2,a3,…,an}A = \{a_1, a_2, a_3, \dots, a_n\}이 주어진다. AA의 원소는 모두 0 이상의 정수이다.

다음 여섯 방정식을 생각하자.

  • c1=x1+x2c_1 = x_1 + x_2
  • x4=x3+x1x_4 = x_3 + x_1
  • x5=x6+x7x_5 = x_6 + x_7
  • x11=x8+x9x_{11} = x_8 + x_9
  • x6=x2+x10x_6 = x_2 + x_{10}
  • x12=x9+c2x_{12} = x_9 + c_2

c1c_1과 c2c_2는 정수 상수이다. c1c_1과 c2c_2가 주어졌을 때 이 방정식을 푸는 프로그램을 작성하시오. 즉, x1x_1부터 x12x_{12}까지 열두 값을 모두 찾아야 한다. 모든 xix_i는 AA의 원소이어야 한다. 서로 다른 두 xix_i의 값이 같아도 된다. 항상 방정식을 풀 수 있는 경우만 입력으로 주어진다.

입력

첫째 줄에 nn, c1c_1, c2c_2가 주어진다. 둘째 줄부터 nn개 줄에 걸쳐 aia_i가 한 줄에 하나씩 주어진다. 12≤n≤7,00012 \le n \le 7{,}000이고, aia_i는 32비트 정수이다.

출력

총 12줄을 출력한다. 첫째 줄에 x1x_1, 둘째 줄에 x2x_2, 같은 방식으로 열두째 줄에 x12x_{12}를 출력한다.

해가 여러 개면 (x1,x2,…,x12)(x_1, x_2, \dots, x_{12})를 앞에서부터 차례로 비교해 사전순으로 가장 앞서는 해 하나만 출력한다.

예제2

  1. 예제 1

    입력
    16 100 -30
    100
    70
    30
    10
    80
    42
    53
    95
    17
    35
    52
    12
    5
    77
    89
    1000
    
    예상 출력
    70
    30
    10
    80
    52
    35
    17
    10
    42
    5
    52
    12
    
  2. 예제 2

    입력
    12 5 -1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    예상 출력
    1
    4
    1
    2
    6
    5
    1
    1
    2
    1
    3
    1