만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

뱀과 사다리

면접 대비

시간 제한1초메모리 제한128 MB

요약
고정된 100칸 보드에서 주어진 사다리 3개와 뱀 3개를 적용하며 주사위 합만큼 말을 이동시키고, 말이 100에 도착하거나 그만두면 끝나는 게임을 시뮬레이션한다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

뱀과 사다리(Snakes and Ladders) 보드게임을 시뮬레이션한다. 게임판은 11번부터 100100번까지의 칸으로 이루어져 있고, 말은 11번 칸에서 시작한다.

매 차례마다 주사위 두 개를 굴려 나온 눈의 합만큼 말을 앞으로 이동시킨다. 이동한 뒤 말이 도착한 칸에 따라 다음이 적용된다.

  • 도착한 칸이 사다리의 아래쪽 끝이면 사다리를 타고 위쪽 끝 칸으로 올라간다.
  • 도착한 칸이 뱀의 머리(위쪽 끝)이면 뱀을 타고 꼬리(아래쪽 끝) 칸으로 미끄러져 내려간다.

이 게임판에는 사다리가 33개(9→349 \to 34, 40→6440 \to 64, 67→8667 \to 86), 뱀이 33개(54→1954 \to 19, 90→4890 \to 48, 99→7799 \to 77) 있다. 사다리의 위쪽 끝이나 뱀의 꼬리는 또 다른 사다리나 뱀의 시작 칸이 아니므로 연쇄 이동은 일어나지 않는다.

주사위 눈의 합만큼 전진하면 100100번 칸을 넘어가는 경우에는 말을 전혀 움직이지 않는다. 말이 마지막 칸인 100100번에 정확히 도착하면 승리한다.

입력

입력은 여러 줄로 이루어지며, 각 줄에는 정수 하나가 주어진다.

  • 22 이상 1212 이하의 정수는 이번 차례에 굴린 주사위 두 개의 눈의 합이다.
  • 00은 게임을 그만둔다는 뜻이다.

입력은 00이 주어지거나 말이 100100번 칸에 도착하면 끝난다.

출력

매 차례마다 말이 최종적으로 도착한 칸의 번호를 다음 형식으로 한 줄에 출력한다.

You are now on square N

여기서 NN은 사다리나 뱀을 적용한 뒤 말이 위치한 칸의 번호이며, 말이 전진하지 못하고 제자리에 머문 경우에는 현재 칸의 번호이다. 말이 100100번 칸에 도착하면 해당 줄을 출력한 다음 You Win!을 출력하고 프로그램을 종료한다. 입력으로 00이 주어지면 You Quit!을 출력하고 종료한다.

예제1

  1. 예제 1

    입력
    9
    11
    12
    7
    3
    5
    10
    9
    
    예상 출력
    You are now on square 10
    You are now on square 21
    You are now on square 33
    You are now on square 64
    You are now on square 86
    You are now on square 91
    You are now on square 91
    You are now on square 100
    You Win!