[BOJ2615] 오목
Updated:
문제
- 가로세로 19줄
- 연속 5알 놓이면 이김, 6알은 안 이김
- 승부 체크
입력
- 19줄 19개 숫자
- 검은 바둑알 1, 흰 바둑알 2, 빈 공간 0
출력
- 검은색 이기면 1, 흰색 이기면 2 출력
- 연속된 다섯 개의 바둑알 중, 가장 왼쪽에 있는 알(세로라면 가장 위)의 가로줄, 세로줄 번호 출력
설계
- 탐색은 위에서 아래로, 왼쪽에서 오른쪽 방향, 자동적으로 출력 2번째 조건 만족할 수 있음
- 특정 돌을 만나면 dfs 이용하여, 특정 방향을 모두 탐색
- 여기서 방향은 우상단, 우단, 우하단, 하단 4가지만 체크해도 됨 (탐색 방향 때문)
- dfs로 쭉 돌면서 방향을 포함한 방문체크 —> 6목 이상을 다시 방문했을 때 5목으로 인지되는 부분 방지, 다른 방향으로 뻗어 나가서 오목이 되는 경우 체크 가능
How I solved(click to github)
ref :
BOJ2615
Leave a comment