#176
Gold V
Moving Formation
스페셜 저지
시간 제한
1s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

무한한 2차원 좌표 평면 위에 네 대의 드론 AA, BB, CC, DD가 배치되어 있다. 최초에는 각각 순서대로 (0,0)(0, 0), (0,N)(0, N), (N,N)(N, N), (N,0)(N, 0)에 배치되어 있다. 이때, 네 개의 드론 쌍 (A,B)(A, B), (B,C)(B, C), (C,D)(C, D), (D,A)(D, A)는 서로 통신하며 정보를 주고받고 있다. 예를 들어 드론 AA는 드론 BB, DD와 통신을 주고받고 있지만, 드론 CC와는 통신을 주고받고 있지 않다.

각 드론의 통신 가능 거리는 최대 NN까지로 제한되어 있다. 어느 순간이라도 통신을 주고받고 있는 두 드론 사이의 거리가 NN을 초과하면 드론이 오작동을 일으키며 추락한다. 이때 두 드론이 (x1,y1)(x_1, y_1), (x2,y2)(x_2, y_2)에 위치할 때, 드론 사이의 거리는 (x1x2)2+(y1y2)2\sqrt{(x_1 - x_2)^2+(y_1 - y_2)^2}로 계산한다.

드론 조종사인 상우는 네 대의 드론이 오작동을 일으키지 않게 하면서, 각각 순서대로 도착 지점인 (x,y)(x, y), (x,y+N)(x, y + N), (x+N,y+N)(x + N, y + N), (x+N,y)(x + N, y)로 이동시키고자 한다. 상우는 이를 위해 다음과 같이 드론을 조종하는 작업을 00회 이상, 20002\,000회 이하 수행할 수 있다.

  • 드론 AA, BB, CC, DD 중 하나를 선택한다. 선택한 드론을 RR, 그리고 RR의 현재 좌표를 P=(x1,y1)P=(x_1, y_1)이라고 하자.
  • 드론 RR을 이동시킬 목표 좌표 Q=(x2,y2)Q=(x_2, y_2)를 선택한다. 단, (x2,y2)(x_2, y_2)에 다른 드론이 없어야 한다. RRPPQQ를 잇는 선분을 따라 이동한다.

상우는 드론을 기가 막히게 조종할 수 있지만 머리는 좋지 않아 여러분에게 도움을 요청했다. 즉, 드론이 오작동을 일으키지 않도록 하며, 네 대의 드론을 도착 지점까지 이동시키기 위한 작업을 출력하는 프로그램을 작성해 보자. 단, 작업 횟수를 최소화할 필요는 없다.

입력

첫째 줄에 세 정수 NN, xx, yy가 공백으로 구분되어 주어진다. (2N10;0x,y100)(2 \le N \le 10; 0 \le x, y \le 100)

출력

첫째 줄에 네 대의 드론을 도착 지점으로 옮기는 데 필요한 작업 횟수 KK를 출력한다. 단, KK가 최소일 필요는 없다. (0K2,000)(0 \le K \le 2,000)

KK11 이상이라면, 둘째 줄부터 KK개의 줄에 수행할 작업을 순서대로 한 줄에 하나씩 출력한다. 각 줄은 \t{R X Y}의 형식으로 출력하며, 각 값이 가지는 의미는 다음과 같다.

  • RR: 네 대의 드론 중 이동시킬 드론을 의미하는 영어 대문자. RR은 영어 대문자 \t{A}, \t{B}, \t{C}, \t{D} 중 하나여야 한다.
  • XX: 드론 RR이 이동할 목표 지점의 xx좌표. (0X200)(0 \le X \le 200)
  • YY: 드론 RR이 이동할 목표 지점의 yy좌표. (0Y200)(0 \le Y \le 200)
  • XXYY는 정수여야 한다.

정답이 여러 개라면 그중 하나만 출력한다. 또한 가능한 모든 입력에 대해서 위 출력 조건을 만족하는 출력이 항상 존재함을 증명할 수 있다.

예제 입력 1

2 1 1

예제 출력 1

4
A 1 1
B 1 3
D 3 1
C 3 3
문제를 만든 사람
안우진
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Gold V2명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.