경품 추첨
면접 대비시간 제한1초메모리 제한512 MB
못이 놓인 격자에서 공이 위에서 떨어질 때 못에 부딪히면 좌우로 갈라지며, 가장 아래 행에 도달할 확률이 가장 높은 열 번호를 구하고 그런 열이 없으면 -1을 출력한다.
문제
못과 빈칸으로 이루어진 크기의 추첨 판에서 경품 추첨을 진행하려고 한다. 추첨은 아래와 같은 과정을 순서대로 진행한다.
- 추첨 판 임의의 위치에 한 칸 크기의 못들이 설치된다.
- 추첨 판의 가장 위 행 중 한 칸에서 공 하나가 떨어진다.
- 만약 공 아래에 못이 없는 경우, 한 행 아래로 내려간다.
- 만약 공 아래에 못이 있는 경우, 같은 확률로 못의 양 옆 중 한 곳으로 이동해서 한 행 아래로 내려가려고 한다. 이 때, 이동하려는 칸 또는 이동하려는 칸의 아래 칸에 못이 있다면 그 방향으로 지나가지 못하고 걸린다. 이때는 공을 처음 위치로 되돌려 추첨을 다시 진행한다.
- 가장 아래 행에 공이 도착할 때까지 3번 부터 과정을 반복한다. 가장 아래 행에 도착한 공의 열 번호가 당첨 번호가 된다.
못이 박힌 후에 추첨 번호를 선택한다고 할 때, 당첨될 확률이 가장 높은 번호를 알아내 보자.
입력
첫째 줄에 추첨 판의 세로 길이 과 가로 길이 이 공백으로 구분되어 주어진다.
둘째 줄부터 개의 줄에 추첨 판을 나타내는 개의 정수가 공백으로 구분되어 주어진다. '0'은 빈 공간, '1'은 못, '2'는 처음 공의 위치를 의미한다.
처음 공의 위치는 반드시 가장 위 행에 하나 존재한다.
가장 왼쪽 열과 가장 오른쪽 열에는 못이 설치되지 않는다.
출력
가장 당첨될 확률이 높은 번호 를 출력한다. 그런 번호가 여러 개라면 그중 가장 작은 번호를 출력한다. 모든 번호가 당첨될 확률이 없다면 '-1'을 출력한다.