목차
2023년도 정보올림피아드 1차대회 초등부 필기 1번부터 5번까지 문제풀이 입니다.
1번
직접 시뮬레이션을 통해 왼쪽과 비교하여 더 빠른 경우 속도를 맞춰주면 쉽게 알 수 있습니다.
초기 속도는 이처럼 표시가 됩니다. 이 후 왼쪽부터 자신의 왼쪽의 속도를 비교하여 자신이 더 빠를 경우 왼쪽과 맞춰주면 몇가지 속도가 나오는지 알 수 있습니다.
최종적으로 이런 모양이 되며 총 6가지의 속도가 됨을 알 수 있습니다.
2번
양팔 저울로 구할 수 없는 무게를 찾는 문제 입니다. 이런 문제는 모든 경우의 수를 조합하여 구할 수 없는 무게를 찾아야 합니다. DP의 배낭 문제를 해결하는 방법과 유사합니다.
먼저 왼쪽에 2kg, 5kg를 넣고 오른쪽에 8kg을 넣습니다. 그럼 왼쪽이 7kg이 되기 때문에 물병을 1kg만 담을 수 있습니다.
다음으로 6kg은 왼쪽은 2kg과 물병을 넣고, 오른쪽은 8kg을 넣으면 물병 6kg을 채울 수 있습니다.
11kg은 오른쪽에 2kg과 물병, 오른쪽은 5kg, 8kg을 넣으면 됩니다. 그럼 오른쪽이 13kg이기 때문에 물병에 11kg을 넣었을 때 왼쪽의 2kg과 합쳐져 13kg이 됩니다.
12kg은 만들 방법이 없기 때문에 4번인 12kg이 정답이 됩니다.
3번
3명은 항상 진실을 말합니다. 나머지 한 명은 거짓말을 할 수도 있고, 안할수도 있습니다. A부터 D까지 차례로 창문을 깼다고 생각하고 몇명이나 진실을 이야기 하는지 확인하는 방법으로 창문을 깬 사람을 찾을 수 있습니다.
먼저 A가 창문을 깼다고 생각을 해보겠습니다. 과연 몇명이나 거짓말을 하는지 확인해 보겠습니다.
A가 창문을 깼기 때문에 A, C가 거짓말을 한것이 됩니다. 3명 이상이 진실을 말하지 않기 때문에 A가 창문을 깬 것이 아닙니다.
다음으로 B가 창문을 깼다고 생각해 보겠습니다.
이것 역시 두명의 거짓말이 있기 때문에 B가 창문을 깬 것이 아닙니다.
다음으로 C가 창문을 깼다고 생각해 보겠습니다.
마찬가지로 두명이 거짓말을 한 것으로 됩니다. 따라서 C가 창문을 깬 것이 아닙니다.
마지막으로 D가 창문을 깼다고 생각해 보겠습니다.
A, B, C 가 참을 말하고 마지막 D만 거짓을 말하고 있습니다. 세명이 진실을 말하고, 한 명은 거짓말을 할 수도 있다는 경우가 성립하게 됩니다. 따라서 D가 창문을 깬것이 맞습니다.
4번
최소의 봉투로 나누기 위해서는 최대한 건드리지 않는 것이 좋습니다. 문제는 금액이 두 배 이상 차이나서는 안됩니다. 금액을 확인해보니 한 봉투에 3장이 들어 있어 3천원이 있는 경우가 최소 입니다. 즉 나머지 봉투에 6천원 이상이 있으면 안됩니다. 6천원 이상인 봉투는 9장, 8장이 있는 두 곳입니다. 따라서 이 봉투들에서 5천원만 남기고 나머지를 빈 봉투에 옮기면 봉투의 개수는 7개가 됩니다.
5번
계산을 해도 되지만 경우의 수가 많지 않기 때문에 하나하나 다 해보는 것이 빠르게 해결 할 수 있습니다.
- (2, 1, 4, 3)
- (2, 3, 4, 1)
- (2, 4, 1, 3)
- (3, 1, 4, 2)
- (3, 4, 1, 2)
- (3, 4, 2, 1)
- (4, 1, 2, 3)
- (4, 3, 1, 2)
- (4, 3, 2, 1)
이렇게 9가지 경우의 수가 나오게 됩니다.
이는 교란수열 문제로 교란 수열에 대해 알고 있다면 식으로도 해결할수 있습니다. 교란순열에 대해서는 아래 링크 확인 바랍니다.
https://davincicoding.tistory.com/119
'알고리즘 설명 > 정보올림피아드 필기' 카테고리의 다른 글
2023년 정보올림피아드 필기 초등부(11 ~ 15) (0) | 2024.04.09 |
---|---|
2023년 정보올림피아드 필기 초등부(6 ~ 10) (0) | 2024.04.08 |
2022년 정보올림피아드 필기 초등부(16 ~ 20) (0) | 2024.04.06 |
2022년 정보올림피아드 필기 초등부(11 ~ 15) (0) | 2024.04.05 |
2022년 정보올림피아드 필기 초등부(6 ~ 10) (1) | 2024.04.03 |