RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 KOI00259

입력숫자

설명

아래 mystery.\(c\)는 입력파일 \(X\)를 읽어서 그 안에 기록된 \(N\)개의 정수를 배열 NUM에 저장한 뒤에 이 \(N\)개의 수를 어떤 순서에 따라서 화면에 출력하는 프로그램이다. mystery.\(c\)\(X\)를 입력으로 받아 화면에 출력한 결과를 \(Y\)라고 하자.

\(include < stdio.h > int\) NUM[101] ;

FILE fin ;
int main(){
int \(i\), token,\(N\) ;
int \(count=0,\) \(from= 0,\) value ;
\(fin = fopen(\)"\(X\)","\(r\)");
fscanf(fin,"%\(d\)",&\(N\));
\(for(i=0\); \(i < N\); i++){
fscanf(fin,"%\(d\)",&token);
NUM[\(i\)]= token;
} /
end of for /
printf("%d\n", \(N\) ) ;
\(value = NUM\)[ from ] ;
while( \(count < N\) ) {
while( value == 0 ) {
\(from = (from\)+1)%\(N\);
\(value = NUM\)[ from ] ;
} /
end of inner while /
printf("%\(d\) ", value ) ;
count++ ;
NUM[ from ] = 0 ;
\(from = (value\) +from )% \(N\) ;
\(value = NUM\)[ from ] ;
} /
end of outer while /
return(0);
} /
end of main() */

여러분은 mystery.\(c\)에서 생성된 \(Y\)를 파일로 받아서 그것의 입력에 해당하는 \(X\)를 찾아내는 프로그램을 작성해야 한다.

제약
입력 형식

첫 줄에는 정수 \(N\) \((1 \le N \le 30)\)이 주어진다. 그리고 두 번째 줄에는 100이하 양의 정수 \(N\)개가 빈칸을 사이에 두고 모두 나열되어 있다. 단 그 정수 중에는 같은 수가 있을 수도 있다.

출력 형식

첫 줄에는 정수 \(N\)이 제시되어 있고, 그 다음 줄에는 \(N\)개의 양의 정수가 빈칸을 사이에 두고 기록되어 있어야 한다. 만일 입력을 생성하는 mystery.\(c\)의 입력파일 \(X\)가 없는 경우에는 음수인 -1 을 첫 줄에 출력하면 된다.

예제 1
입력
5
1 2 4 3 5
출력
5
1 2 3 4 5
예제 2
입력
10
1 2 4 8 6 3 7 5 10 9
출력
10
1 2 3 4 5 6 7 8 9 10
예제 3
입력
10
5 5 7 4 33 10 9 3 2 6
출력
10
5 7 33 2 6 5 10 9 4 3
문제 정보

생성자가 기록되지 않았습니다.

출처 올림피아드 > 한국정보올림피아드 > KOI 2013 > 2차 대회 > 초등부 3번 / 중등부 2번

평가 및 의견

입력숫자

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

입력숫자

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8