본문 바로가기

정보올림피아드지역예선

정보올림피아드 초등 - 지역예선] 2010년도 34-35번문제

반응형

 

 

 

 

 

 

 

문제풀이)

34번 문제 풀이를 위해서 다음과 같이 out 배열에 데이터가 입력 되어야 한다.

순번 

 1

 2

 3

 4

 5

 h

 6

 9

 5

 7

 4

 out

 0

 0

 2

 2

 4

따라서 로직을 수행해 보면

1. p=1,i=5 일때 stack[1] = 5

2. p=2,i=4 이면 while 문을 수행하여 out[5] = 4 를 입력 해야 한다.

따라서 h[p] 인 경우 while 문을 수행하지 않으므로 정답이 아니다.

h[p-1] 인 경우 역시 while문을 수행하지 않는다.

h[stack[i]] 인 경우 stack[4] 에는 쓰레기 값이 들어 있으므로 알고리즘 오류이다.

h[stack[p]] 인 경우 역시 stack[2] 에도 쓰레기 값이 들어가 있다.

따라서 정답은 h[stack[p-1]] 의 값을 보는 경우에만 수행이 가능하다.

35 번 문제는 역방향으로 추출하면 되기 때문에

for(i=n;i>=1;i--) => for(i=1;i<=n;i++) 로 수정하면 된다.

따라서 정답은 a 이다.

반응형