더블릿 문제인데 올려봅니다. lht94 요즘 책갖고 공부하는 초보인데요 혼자 잡고잇는데 안풀려서 질문게시판에 올려 봐요. 보물섬 문제인데요 완전탐색 공부하고 적용해볼려하는데... 힘드네요 http://211.228.163.31/pool/koi_treasure/koi_treasure.php?pname=koi_treasure 이게 문제고요 #include #include #define INF 9999 int map[51][51]; int check[51][51]; int n, m; int search(int x, int y, int a, int b,int d) { if(x<0||x>51) return INF; //범위 초과시 INF반환 if(y<0||y>51) return INF; if(map[x][y]!=1) return INF;// 육지(L)=1 바다(W)=0 if(check[x][y]!=0) //한번 지나왔던곳을 다시 오면 INF반환 return INF; check[x][y]=1;// x,y를 지나갔다는걸 기록(0이면 x 1이면 o) if(x==a&&y==b)//지점 도착시 지금 까지의 거리(시간)반환 return d; int ret=99999; //큰수로 초기화 for(int i=-1;i<=1;i++) for(int j=-1;j<=1;j++) { if(i==j)// continue; if(i+j==0) continue; if(x+i<0||y+j<0)//범위초과시 넘어감 continue; if(x+i>=n||y+j>=m) continue; int cand; cand=search(x+i,y+j,a,b,d+1); ret=min(ret,cand);// 최소거리 check[x+i][y+j]=0;// 지나왔던 기록을 다시 없앰 } return ret; } 이게 제가 생각해서 그나마 짜본건데 실패햇어여. 완전탐색으로 풀어도 되나요 저문제?? 그리고 제가 어느 부분을 잘못생각하고있는지... 책 내용을 읽어보고 짜는데도 아직 너무 모르는게 많네요 11년 전
3개의 댓글이 있습니다. kcm1700 완전 탐색을 이용하여 푸는 문제가 아닙니다. 11년 전 link kcm1700 완전 탐색을 하기에는 공간이 너무 큽니다. 50*50개의 칸을 방문해야할 수 있는데 완전 탐색을 하면 대략 매 순간 3가지의 선택지가 있다고 하면 3^몇백 이상의 탐색을 해야할 수 있어요. 11년 전 link JongMan 소스코드 업로드시에는 밑의 도움말을 참조해서 구문 강조가 되도록 올려 주시기 바랍니다. 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
lht94
요즘 책갖고 공부하는 초보인데요 혼자 잡고잇는데 안풀려서 질문게시판에 올려 봐요.
보물섬 문제인데요
완전탐색 공부하고 적용해볼려하는데...
힘드네요
http://211.228.163.31/pool/koi_treasure/koi_treasure.php?pname=koi_treasure
이게 문제고요
#include
#include
#define INF 9999
int map[51][51];
int check[51][51];
int n, m;
int search(int x, int y, int a, int b,int d)
{
if(x<0||x>51)
return INF; //범위 초과시 INF반환
if(y<0||y>51)
return INF;
for(int i=-1;i<=1;i++)
for(int j=-1;j<=1;j++)
{
if(i==j)//
continue;
if(i+j==0)
continue;
if(x+i<0||y+j<0)//범위초과시 넘어감
continue;
if(x+i>=n||y+j>=m)
continue;
int cand;
}
return ret;
}
이게 제가 생각해서 그나마 짜본건데 실패햇어여.
완전탐색으로 풀어도 되나요 저문제??
그리고 제가 어느 부분을 잘못생각하고있는지...
책 내용을 읽어보고 짜는데도 아직 너무 모르는게 많네요
11년 전