우리는 인간의 환경 이야기하면 아주 간단한 욕심이 문제는 분명히 열 또는 행에 대해, 이상의 방법으로 분리.
주문 출력을 참고
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #INCLUDE <cstdio> 2 #INCLUDE <iostream> 3 #INCLUDE <CString을> 4 #INCLUDE <알고리즘> 5 6 이용한 스페이스 성병; 7 8 구조체 노드 9 { 10 의 INT NUM; 11 INT의 데이터; 12 }; 13 노드 거짓 [ 1,005 ] 헹의 [ 1005 ]; 14 INT의 N, M, K, L, D; 15 16 인라인 부울 CMP (노드 X, 노드 Y) 17 { 18 반환 x.data>y.data; 19 } 20 21 INT ) (주 22 { 23 는 scanf ( " % D % D % D % D % D " , m, N, K, L, d); 24 대 ( int로 = 1을 1 ; I <= m; I ++ ) 25 헹 [I] = .num I; (26) 에 대한이 ( int로 I = 1 ; i가 N = <; 내가 ++ ) 27 거짓 [I] = .num I; 28 대 ( int로 = 1을 1 ; ++; 나는 = D < I) 29 { 30 지능X1, Y1, X2, Y2; 31 는 scanf ( " % D % D % D % D " , X1, Y1, X2, Y2); (32) 만약 (X1의 ==의 X2) 33 { 34 INT의 p = 분 (Y1, Y2); 35 거짓 [P] .DATA ++ ; 36 } 37 또 38 { 39 INT의 p = 분 (X1, X2); 40 헹 [피] .DATA ++ ; 41 } 42 } 43 정렬 (헹 + 1 , N + 헹 + 1 , CMP); (44) INT ans_heng [ 1005 ]; (45) 에 대한이 ( 값 int = 1을 1 ; 나는 <= K를, 난 ++ ) 46 ans_heng [I] = 헹 [I] .num 단계; 47 정렬 (ans_heng + 1 , ans_heng + K + 1 ); (48) 에 대한이 ( 값 int = 1을 1 ; 나는 <= K가 나는 ++ ) (49) 의 printf ( " %의 D " , ans_heng [I]); 50 의 printf ( " \ n을 " ); 51 정렬 (거짓말 + 1 , + 거짓말의 m + 1 , CMP); (52) INT ans_lie [ 1005 ]; (53) 에 대한이 ( 값 int = 1을 1 ] 나가 = 1을 <; 내가 ++ ) 54 ans_lie [내가] = 거짓 [I] .num; 55 정렬 (ans_lie + 1 , ans_lie + 1 + 1 ); (56) 에 대한이 ( 값 int = 1을 1 ] 나가 = 1을 <; 나는 ++ ) (57) 의 printf ( " %의 D " , ans_lie [I]); 58 반환 0 ; 59 }