https://www.acmicpc.net/problem/18430
이거 아무리봐도 백트래킹인데 구현을 못하겠음
백트래킹 아니면 말좀
코드가 원하는 결과가 안나오는데 내가 백트래킹을 소홀히해서 잘 구현을못하겠음
구현로직 이거맞음?
1.입력되는 숫자대로 2차원배열 점수판 만들기
2.점수판 크기와 동일하게 False로 채워진 visit 2차원배열 만들기
3.
//x,y는 점수가2배되는 부메랑좌표(중심축)
백트래킹함수(x,y,점수)
{
만약 y가 세로크기이상이면
리턴
만약 x가 가로크기-1이면
다음좌표: 0,y+1
나머지경우
다음좌표:x+1,y
//부메랑을 넣을 수 있으면 부메랑이 차지하는 영역이 점수판 안에 있어야하고 부메랑좌표 visit값이 모두 False여야함
1.ㄱ모양부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
2.ㄱ모양을 뒤집은부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
3.ㄴ모양부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
4.ㄴ모양을 뒤집은 부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
//부메랑을 안놓는 경우
Dfs(다음좌표,그대로점수)
}
이거 아무리봐도 백트래킹인데 구현을 못하겠음
백트래킹 아니면 말좀
코드가 원하는 결과가 안나오는데 내가 백트래킹을 소홀히해서 잘 구현을못하겠음
구현로직 이거맞음?
1.입력되는 숫자대로 2차원배열 점수판 만들기
2.점수판 크기와 동일하게 False로 채워진 visit 2차원배열 만들기
3.
//x,y는 점수가2배되는 부메랑좌표(중심축)
백트래킹함수(x,y,점수)
{
만약 y가 세로크기이상이면
리턴
만약 x가 가로크기-1이면
다음좌표: 0,y+1
나머지경우
다음좌표:x+1,y
//부메랑을 넣을 수 있으면 부메랑이 차지하는 영역이 점수판 안에 있어야하고 부메랑좌표 visit값이 모두 False여야함
1.ㄱ모양부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
2.ㄱ모양을 뒤집은부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
3.ㄴ모양부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
4.ㄴ모양을 뒤집은 부메랑을 해당좌표에 넣을 수 있으면
점수계산
Visit에 부메랑이 차지하는 좌표 True로
Dfs(다음좌표,증가한점수)
Visit에 True로 만들었던 좌표 False
증가된 점수만큼 점수 빼주기
//부메랑을 안놓는 경우
Dfs(다음좌표,그대로점수)
}
즉 포인트는 부메랑을 놓고 재귀 방문처리한 곳 해제 증가한점수만큼 빼주기 이거인데 백트래킹 이렇게 하면 안됨?
써놓은 거 봐서는 제대로 한 거 같은데
혼자서 더해봄