작성
·
238
0
안녕하세요 좋은 강의 감사합니다.
저는 _mp[세로줄][점선] 이렇게 생각해서 구현했습니다.
문제에서 나온것과는 다르게 사다리가 놓을수 있는 곳을 세로로 생각해서 코드를 짰습니다. 그래서 UP DOWN이 있습니다.
구현과정에서 인덱스는 0부터 시작하도록 설정했습니다.
http://boj.kr/a4dda6bde3c04184b402349de75eefbc
시간초과가 나서 수정해보다가 안되서 질문올립니다. 감사합니다.
답변 1
1
안녕하세요 동하님 ㅎㅎ
이 코드요. 지금 보시면 해당 부분 사다리 놓을 수 있으면 aa + 1하고 그러다가 aa = 0, b + 1이렇게 해서 점진적으로 증가시키면서 사다리를 놓잖아요.
if(Check(aa, bb)){
_mp[bb][aa] = DOWN;
_mp[bb+1][aa] = UP;
Test(now_line);
Solve(aa + 1, bb, now_line + 1);
_mp[bb][aa] = NO;
_mp[bb+1][aa] = NO;
근데 앞의 코드는 이런 경우의 수는 파악하지 못하는거 아닌가요?
예를 들어
1 3 5 을 사다리를 놓을 수 있다고 치면
1 3 6 이런거는 체크못하는거 아닌가요?
감사합니다.