본문 바로가기

Problem Solving/DP

BOJ 1103 - 게임

문제 링크(Link)


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


문제 해결(Solution)


 1. DP를 이용해서 문제 해결한다.


 2. 사이클이 존재 여부를 확인하는 bool 배열을 만들어서 확인한다.


주의할 점 || 생각해볼 점(Caution || Consideration)


 1. main함수 외에서 프로그램을 강제 종료할 수 있는 exit 함수를 사용. exit의 매개 인자에 0이면 정상 종료, 그 외의 값은 비정상 종료임을 알린다.


 2. 사이클의 존재 여부를 확인하는 쉬운 방법. 

① 처음 vertex에 방문했을 때, 방문했음을 체크(chk[row][col]=true)한다.

② 상하좌우 이동한다. (이 행위는 다른 문제에선 다르게 응용될 수 있다) 

 언체크(chk[row][col]=false)한다. 만약 언체크 이전에 다시 방문된다면, 사이클이 존재하는 것이다.


참고(Reference)


 - exit 함수에 대한 설명 : https://kldp.org/node/47649




※ 정확하고 부드러운 태클은 언제나 환영입니다.



'Problem Solving > DP' 카테고리의 다른 글

BOJ 12841 - 정보대 등산  (0) 2018.01.15
BOJ 1949 - 우수 마을  (0) 2017.12.21
BOJ 12849 - 본대 산책  (0) 2017.10.07
BOJ 5721 - 사탕 줍기 대회  (0) 2017.09.30
BOJ 11578 - 팀원 모집  (0) 2017.09.30