Skip to content

Conversation

@oncsr
Copy link
Contributor

@oncsr oncsr commented Feb 24, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/33517

🧭 풀이 시간

40분

👀 체감 난이도

✏️ 문제 설명

  • $N$개의 칸이 일렬로 놓여있고, 첫 번째 칸에서 출발하여 마지막 칸에 도달하면 승리한다.
  • 첫 칸과 마지막 칸을 제외한 각 칸은 비어있거나 곰 또는 지뢰가 존재한다.
  • 명령어가 세 가지 존재한다.
  1. 점프 : 다음 칸으로 이동한다. 이동한 칸에 곰 또는 지뢰가 있다면 패배한다.
  2. 공격 : 다음 칸에 있는 곰의 체력을 1 깎는다. 곰의 체력이 0이 되면 곰은 사라지고, 다음 칸에 지뢰가 있다면 패배한다.
  3. 지뢰 제거 : 다음 칸에 있는 지뢰를 제거한다.
  • 칸의 구성과 길이 $K$인 명령어 목록이 주어지면, 목록을 사이클로 보고 명령어를 총 $10^{100}$회 실행했을 때 승리할 수 있는지 알아보자.

🔍 풀이 방법

[사용한 알고리즘]

  • 구현
  • 시뮬레이션

  • 점프를 한 번 하기 전까지의 명령어들은 모두 공격 횟수지뢰 제거 여부 두 가지로 압축해서 생각할 수 있다.
  • 압축한 뒤에는 시뮬레이션 돌리듯 각 칸을 지나갈 수 있는지 판별하면 된다.

⏳ 회고

  • 테스트 케이스에 점프를 아예 하지 않는 경우도 있었다..

@oncsr oncsr added the success 👍 해설을 보지 않고 풀었을 때 label Feb 24, 2025
@ShinHeeEul ShinHeeEul merged commit c81c6c2 into main Feb 24, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants