제목 설명
각 창 A를 프로세스 고객 (2)의 완료를, B는 윈도우 (1)를 처리 할 때, 즉 - 뱅크 A를 제공한다, B 개의 창구 서비스 처리 속도는 윈도우의 윈도우 B의 2 배의 처리 속도이고, 동일하지 고객. 고객 은행의 순서 감안할 때, 출력 시퀀스의 기업 고객에 의해 주문을 완료하시기 바랍니다. 어떤 고객이 없다고 가정하면 간격이 도착하는 시간을 고려해야하고, 다른 창은 동시에 두 개의 고객, 고객 우선 순위 출력 창을 처리 할 때.
기입
라인 입력은 제 번호 N (상기 양의 정수이다 ≤1000) 고객의 총 개수는 N 비트의 고객 번호 하였다. 홀수 비즈니스를 수행하기 위해 창 A는 고객의 요구를 번호, 고객의 짝수 B 창에 갔다. 숫자 사이에 공백으로 구분.
수출
고객 번호의 보도 거래 완료 시퀀스 출력. 숫자 사이에 공백으로 구분하지만, 마지막 숫자 후 여분의 공간을 가질 수 없습니다.
샘플 입력
8 2 1 3 9 11 4 13 15
샘플 출력
1 2 3 9 11 4 13 15
신속한
사용법 #include <iostream> #INCLUDE <큐> 사용 스페이스 성병; int로 주 () { INT에 해당하는 단계; CIN >> N; INT * A = 새로운 INT [N]; 위한 ( INT 난 = 0 ; I <N; I ++ ) { CIN >> A [I]; } 큐 < INT > a 및 큐 < INT > B; 위한 ( INT 난 = 0 ; I <N; I ++ ) { 경우 (a [i]를 % 2 ! = 0 ) A.push (a [I]); 다른 B.push (a [I]); } INT의 myclock = 1 ; INT 태그 = 0 ; 반면 (A.empty () ||! B.empty ()) { 경우 (A.empty () 태그 &&! == 0 ) { COUT << A.front (); A.pop (); 태그 ++ ; } 다른 경우 (! A.empty () && 태그! = 0 ) { COUT << " " << A.front (); A.pop (); } 경우 (B.empty () 태그 &&! == 0 && myclock % (2) == 0 ) { COUT << B.front (); () B.pop; 태그 ++ ; } 다른 경우 (! B.empty () 태그 &&! = 0 && myclock % (2) == 0 ) { COUT << " " << B.front (); 비. } myclock ++ ; } 삭제 ] [A] 반환 0 ; }