질문 표면 : HTTPS : //codeforces.com/contest/1294/problem/B
효과에 따라 :
(0,0)에서 로봇, 그는 할 수있는 전용 'U'또는 오른쪽 'R'걸어
어떤 시점에서, 각각 소포의 많은 좌표계
로봇이 모든 소포 수집을지나 갈 필요
Q. 그것은 수행 할 수 있습니다
그렇다면, 출력 모드로 이동하는 경우, 동일한 이동의 출력 전적으로 작은 용액
문제 해결 아이디어 :
다음 소포 바로 현재의 로봇 위치 / 이상 / 우측에 있어야하기 때문에 쌍 또는 배열 구조체, X 및 Y는, 임의의 우선 순위
그렇지 않으면 직접 출사 NO이 가능한 이동의 존재를 나타낸다
때 출력 이동주의 수 첫번째 'R'의 사용에 'R'로 인해 큰 'R'보다 U '사전 식 순서 (즉, 이전에 그리고 우측)
아날로그 따르면
1 / * 2 필기 바이 StelaYuri 3 에서 2020년 1월 22일 4 * / 5 #INCLUDE <비트 / stdc ++ H.> 6 사용 공간이 수 std; 7 의 typedef 쌍 < INT , INT > P; 8 P PNT의 [ 1050 ]; // 使用쌍默认先再X, Y 9 문자열 ANS; (10) 보이드 추가 ( int로 최대 INT의 오른쪽) { 11 INT 난; (12) 에 대한이 (ⅰ = 0 ; i가 <오른쪽 내가에게 ++ ) 13 ANS + = " R " ; (14) 에 대한이 (전 = 0 ; I <가 나는 ++ ) 15 ANS + = " U " ; 16 } // 先R再U 17 공극 해결 () { 18 INT의 N, I; 19 ANS = "" ; 20 CIN >> N; 21 PNT [ 0 ] = P ( 0 , 0 ); (22) 에 대한이 (전 = 1 ; I <= N; I ++ ) 23 CIN >> PNT [I] 좁은 방 >>PNT은 [I]는 .second; 24 정렬 (PNT + 1. , PNT + 1. + N-), 25 대 (I는 = 1. ; I <= N-; I ++ ) { 26는 IF (PNT [I] 좁은 방> PNT [I- . 1 ] && PNT은 [I] .second <PNT [I-를 좁은 방 1이다. ] .second) { // 다음 포인트는 현재 시점보다 현재 위치의 X, Y보다 적은 경우의 명백하게 부재 27 COUT << " 에 \ N- " ; 28 창 ; 29 } 30 추가 (PNT [I] .second-PNT [I- 1. ] .second, PNT [I] 좁은 방-PNT [I- 1. ] 좁은 방) 31이다 } (32) COUT << " YES \ n " << ANS << ' \ n ' ; 33 } 34 INT의 주 () { 35 IOS :: sync_with_stdio ( 0 ); 36 cin.tie ( 0 ) cout.tie ( 0 ); 37 INT T; CIN >> T; 38 동안 (T-- ) 39 ) (해결; 40 41 복귀 0 ; 42 }