Problem : 기상캐스터
유형 : 구현
문제 설명
JOI시는 남북방향이 H 킬로미터, 동서방향이 W 킬로미터인 직사각형 모양이다. JOI시는 가로와 세로의 길이가 1킬로미터인 H × W 개의 작은 구역들로 나뉘어 있다. 북쪽으로부터 i 번째, 서쪽으로부터 j 번째에 있는 구역을 (i, j) 로 표시한다.
각 구역의 하늘에는 구름이 있을 수도, 없을 수도 있다. 모든 구름은 1분이 지날 때마다 1킬로미터씩 동쪽으로 이동한다. 오늘은 날씨가 정말 좋기 때문에 JOI시의 외부에서 구름이 이동해 오는 경우는 없다.
지금 각 구역의 하늘에 구름이 있는지 없는지를 알고 있다. 기상청에서 일하고 있는 여러분은 각 구역에 대해서 지금부터 몇 분뒤 처음으로 하늘에 구름이 오는지를 예측하는 일을 맡았다.
각 구역에 대해서 지금부터 몇 분뒤 처음으로 하늘에 구름이 오는지를 구하여라.
예제 입력
1 |
|
예제 출력
1 |
|
해결 전략
구름을 움직이되, 범위를 벗어나거나 이미 구름이 지나간 곳이면 가지 않는다.
주의할 점
- 없음
풀이
초기 구름의 위치를 찾는다.
처음에 모든 구역을 -1로 표시한다.
초기 구름이 있는 위치를 0으로 표시하고, 해당 위치를 큐에 넣는다. (굳이 큐가 아니어도 된다)
구름을 움직이는 함수
구름을 한칸씩 움직이는데, 범위 밖을 벗어나거나 이미 다른 구름이 다녀간 곳이면 멈춘다.
코드
1 |
|
피드백
없음