정수의 SDNU 1269 순서 (물 문제)

아이디어 : 마지막으로, 출력 랩을 잊지 나는 워싱턴에지도 한

기술

당신에게 정수의 임의의 순서로 보내기 다음과 같은 순서로 번호를 선택 : 가장 큰, 작은, 그리고 두 번째로 큰, 두 번째 작은이 ... 모든 숫자가 선출 될 때까지입니다. 예를 들면 다음과 같습니다 13254, 당신은 출력 51423을해야한다.

입력

테스트 케이스는 복수의 각각의 경우는 아래의 정수 N은 정수 N (1 <= N <= 100000)로 시작

산출

따라서 제목 설명 출력 시퀀스

샘플 입력

5 
1 3 2 5 4

샘플 출력

5 1 2 3 4

출처

#INCLUDE <cstdio> 
#INCLUDE <iostream> 
#INCLUDE <cmath> 
#INCLUDE < 문자열 > 
#INCLUDE <CString을> 
#INCLUDE <알고리즘> 
#INCLUDE <큐> 
#INCLUDE <벡터> 
#INCLUDE <지도>
 사용  스페이스 성병;
#DEFINE 어떠냐 오래 오래
 CONST의  INT의 maxn = 5100 ; 

INT의 N, A [ 100000 + 8 ], B [ 100000 + 8 ]; 

INT 주 () 
{ 
    동안 (~는 scanf (" %의 D ' , N) && N) 
    { 
        위해 ( int로 = 1을 0 난 ++] i가 N <; ) 
            (scanf와를 " 가 % d " , & A [I]); 
        정렬 (a하는 + N 큰 < INT > ());
        INT 맥스 = N- 1 미네소타 = 0 ;
        위한 ( int로 I = 0 ; I <N은, 내가 ++ ) 
        { 
            경우 (I %의 (2) == 0 ) 
            { 
                B [I] =A [미네소타]; 
                미네소타 ++ ; 
            } 
            그밖에는 
            { 
                B는 [I] = A [맥스]; 
                maxx-- ; 
            } 
        } 
        에 대해 ( int로 I = 0 내가 ++; i가 N < ) 
        { 
            경우 ((I)에서 printf '  " ); 
            의 printf ( " %의 D ' , B [I]); 
        } 
        의 printf ( " \ n을 " ); 
    } 
    반환  0 ; 
}

 

추천

출처www.cnblogs.com/RootVount/p/10993259.html