만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

에너지 생성

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

요약
평면 위 N개 타워마다 90도 단위의 방향을 정해, 반지름 R 안에 있는 타워 쌍의 상호작용 에너지와 수동 에너지의 합을 최대화합니다.
난이도

어려움10점 중 8점

유형
그래프, 기하
정답자
아직 제출이 없습니다

문제

입자 충돌 에너지 생성기가 주어진다. 이 생성기는 NN개의 타워가 놓인 2차원 평면이다. ii번째 타워는 (Xi,Yi)(X_i, Y_i)에 있고, 모든 타워의 영향 범위 반지름은 RR로 같다.

각 타워는 고정된 배치로 네 종류의 입자를 방출한다. 타워는 입자 A, B, C, D를 시계 방향 순서대로, x축과 y축으로 나뉘는 각 사분면마다 하나씩 방출한다. 타워는 x축과 y축 위에서는 입자를 방출하지 않는다.

처음에 각 타워는 90도의 배수 각도로 놓여 있다. 위 오른쪽, 아래 오른쪽, 아래 왼쪽, 위 왼쪽 사분면에서 방출되는 입자를 차례로 적으면 다음과 같다.

  • 0도: (A, B, C, D). 그림과 같다.
  • 90도 (0도에서 시계 방향으로 회전): (D, A, B, C)
  • 180도: (C, D, A, B)
  • 270도: (B, C, D, A)

타워 ii와 타워 jj 사이에 다음 조건이 모두 성립하면 흥미로운 현상이 일어날 수 있다.

  1. Xi≠XjX_i \neq X_j
  2. Yi≠YjY_i \neq Y_j
  3. 두 타워 사이의 유클리드 거리가 RR 이하이다.

타워 ii가 타워 jj가 있는 사분면에 방출하는 입자를 pp, 타워 jj가 타워 ii가 있는 사분면에 방출하는 입자를 qq라고 하자. 서로 마주 보는 면에서 방출되는 입자의 쌍 ⟨p,q⟩\langle p, q\rangle를 마주 보는 입자 쌍이라고 한다.

  • ⟨A,C⟩\langle A, C\rangle, ⟨C,A⟩\langle C, A\rangle, ⟨B,D⟩\langle B, D\rangle, ⟨D,B⟩\langle D, B\rangle이면 타워 ii는 GG의 상호작용 에너지를 생성한다.
  • ⟨A,A⟩\langle A, A\rangle, ⟨B,B⟩\langle B, B\rangle, ⟨C,C⟩\langle C, C\rangle, ⟨D,D⟩\langle D, D\rangle이면 타워 ii는 −G-G를 생성한다. 즉 GG의 에너지를 소모한다.
  • 나머지 8가지 조합이면 두 타워는 상호작용하지 않으며, 이 쌍에서는 에너지가 생기지 않는다.

이 현상은 각 타워의 관점에서 양쪽 모두에 적용된다. 조건을 만족하는 쌍마다 효과가 더해진다.

두 타워 사이에서 생성되는 에너지의 예는 아래 표와 같다.

<A, C>를 방출<D, D>를 방출<B, C>를 방출X1=X2X_1 = X_2
각 타워가 +GG 에너지를 생성각 타워가 -GG 에너지를 생성두 타워 사이에 상호작용이 없음이 두 타워 사이에서는 흥미로운 현상이 일어나지 않음

각 타워는 초기 방향에서 스스로 PP의 에너지를 생성한다. 어느 방향으로든 90도 회전할 때마다 그 타워의 자체 에너지는 PP만큼 줄어든다. 90도 회전한 타워는 자체 에너지가 0이고, 180도 회전한 타워는 −P-P를 생성한다. 타워는 90도의 배수만큼만 회전할 수 있다.

0개 이상의 타워 방향을 바꿔서 얻을 수 있는 총 에너지의 최댓값을 구하라. 한 배치의 총 에너지는 각 타워의 자체 에너지와 모든 조건 만족 쌍의 상호작용 에너지를 더한 값이다.

입력

첫 줄에 정수 NN, RR, GG, PP가 주어진다 (1≤N≤501 \le N \le 50, 1≤R,G,P≤10001 \le R, G, P \le 1000). 각각 타워의 개수, 영향 범위의 반지름, 상호작용 에너지 상수, 각 타워가 초기에 자체로 생성하는 에너지이다. 다음 NN개 줄에는 정수 XiX_i, YiY_i, OiO_i가 주어진다 (−1000≤Xi,Yi≤1000-1000 \le X_i, Y_i \le 1000, Oi∈{0,90,180,270}O_i \in \{0, 90, 180, 270\}). XiX_i, YiY_i는 ii번째 타워의 위치이고 OiO_i는 초기 방향이다. 같은 위치에 있는 두 타워는 없다.

출력

모든 타워 방향 배치 중에서 얻을 수 있는 총 에너지의 최댓값을 한 줄에 정수로 출력한다.

예제3

  1. 예제 1

    입력
    3 10 10 15
    0 0 0
    2 2 180
    100 100 180
    
    예상 출력
    35
    
  2. 예제 2

    입력
    3 10 1 1000
    0 0 0
    2 2 0
    -4 4 180
    
    예상 출력
    2998
    
  3. 예제 3

    입력
    4 10 1000 1
    0 0 0
    0 2 90
    2 0 180
    2 2 270
    
    예상 출력
    4002