디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

으혀랴디 소환 (장기판 코드)

생물학(175.119) 2012.03.11 20:33:22
조회 47 추천 0 댓글 0

#include<stdio.h>
#include<stack>
#include<queue>

using namespace std;

int main()
{
    int sx,sy,ex,ey;
    short map[9][9][3];// 0:x, 1:y, 2:num,
    queue<int> x,y;

    int i,j;

    for(i=0;i<9;i++)
        for(j=0;j<9;j++)
        {
            map[i][j][0]=255;
            map[i][j][1]=255;
            map[i][j][2]=255; //최소이동거리를 무한대로 초기화
        }


    printf("출발 위치 입력 : ");
    scanf("%d %d",&sx,&sy);//출발지 입력
    printf("도착 위치 입력 : ");
    scanf("%d %d",&ex,&ey);//도착지 입력


    map[sx][sy][0]=sx;
    map[sx][sy][1]=sy;
    map[sx][sy][2]=0; // 출발지 값 초기화


    x.push(sx);
    y.push(sy); //우선너비탐색을 위해 큐에 넣음 (스택에 넣을시 우선깊이탐색이 된다.)

    while(1) //탐색 루프
    {
        i=x.front();
        x.pop();
        j=y.front();
        y.pop();

        if( i==ex && j==ey ) //목표지점 도착시 종료
            break;

        if(i+2<9)
        {
            if(j+1<9)
                if(map[i][j][2]+1<map[i+2][j+1][2])
                {
                    map[i+2][j+1][0]=i;
                    map[i+2][j+1][1]=j;
                    map[i+2][j+1][2]=map[i][j][2]+1;
                    x.push(i+2);
                    y.push(j+1);
                }
            if(j-1>-1)
                if(map[i][j][2]+1<map[i+2][j-1][2])
                {
                    map[i+2][j-1][0]=i;
                    map[i+2][j-1][1]=j;
                    map[i+2][j-1][2]=map[i][j][2]+1;
                    x.push(i+2);
                    y.push(j-1);
                }
        }

        if(i-2>-1)
        {
            if(j+1<9)
                if(map[i][j][2]+1<map[i-2][j+1][2])
                {
                    map[i-2][j+1][0]=i;
                    map[i-2][j+1][1]=j;
                    map[i-2][j+1][2]=map[i][j][2]+1;
                    x.push(i-2);
                    y.push(j+1);
                }
            if(j-1>-1)
                if(map[i][j][2]+1<map[i-2][j-1][2])
                {
                    map[i-2][j-1][0]=i;
                    map[i-2][j-1][1]=j;
                    map[i-2][j-1][2]=map[i][j][2]+1;
                    x.push(i-2);
                    y.push(j-1);
                }
        }
        if(i+1<9)
        {
            if(j+2<9)
                if(map[i][j][2]+1<map[i+1][j+2][2])
                {
                    map[i+1][j+2][0]=i;
                    map[i+1][j+2][1]=j;
                    map[i+1][j+2][2]=map[i][j][2]+1;
                    x.push(i+1);
                    y.push(j+2);
                }
            if(j-2>-1)
                if(map[i][j][2]+1<map[i+1][j-2][2])
                {
                    map[i+1][j-2][0]=i;
                    map[i+1][j-2][1]=j;
                    map[i+1][j-2][2]=map[i][j][2]+1;
                    x.push(i+1);
                    y.push(j-2);
                }
        }

        if(i-1>-1)
        {
            if(j+2<9)
                if(map[i][j][2]+1<map[i-1][j+2][2])
                {
                    map[i-1][j+2][0]=i;
                    map[i-1][j+2][1]=j;
                    map[i-1][j+2][2]=map[i][j][2]+1;
                    x.push(i-1);
                    y.push(j+2);
                }
            if(j-2>-1)
                if(map[i][j][2]+1<map[i-1][j-2][2])
                {
                    map[i-1][j-2][0]=i;
                    map[i-1][j-2][1]=j;
                    map[i-1][j-2][2]=map[i][j][2]+1;
                    x.push(i-1);
                    y.push(j-2);
                }
        }
    }

    printf("(%d %d)에서 (%d %d)까지 %d번 이동n",sx,sy,i,j,map[i][j][2]);


    i=ex,j=ey;
    while(1) //루트 찾기
    {
        printf("(%d %d)",i,j);
        if(sx==i && sy==j)
            break;
        printf("←");
        ex=i;
        i=map[i][j][0];
        j=map[ex][j][1]; //기록된 값을 토대로 루트 추적
    }

    return 0;
}

들여쓰기 뭐같네
들여쓰기하다가 시간 다감 =ㅅ=

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
306979 간단한 if문인데 이해가 안되서 질문드려요..ㅠ [3] 부경인갤로그로 이동합니다. 12.03.13 101 0
306978 내일 출근인데;;; ㅇㅇ(210.113) 12.03.13 50 0
306977 프갤러 형들 이거 보고 힘내.swf [5] 뭐로하냐갤로그로 이동합니다. 12.03.13 96 0
306976 오늘 한 짓거리 [2] [성대아싸]갤로그로 이동합니다. 12.03.13 87 0
306974 ArrayIndexOutOfBoundsException [9] vold갤로그로 이동합니다. 12.03.13 68 0
306973 비주얼스튜디오2010 한글판 어디서 받아? [3] ㅇㅇ(210.113) 12.03.13 79 0
306972 취직을 하긴했는데 취직해도 걱정... ㅠㅠ 요즘 회사 술자주먹음? [7] ㅁㄴㅇㄹ(59.30) 12.03.13 142 0
306971 비주얼 스튜디오2010 모르고 풀설치했네; [1] ㅇㅇ(210.113) 12.03.13 64 0
306969 컴공애들이 얼마나 똑똑한데 [2] ㅊㅊㅊ(114.199) 12.03.13 171 0
306968 형들 C++하는대 콘솔창이바로꺼지네요;; [4] OneSo갤로그로 이동합니다. 12.03.13 102 0
306967 수학과전공하면서 복전으로 컴공중인데 확실히 컴공애들이 무식함 [10] ㅇㅁ(114.199) 12.03.13 295 0
306965 엉덩이는 누가 대줄까? [1] 아놔콘다갤로그로 이동합니다. 12.03.13 86 0
306964 형들 내가 이렇게 한번 짜봤는데 도대체 내 눈에 잘못된게 안보이거든 뭐가 [20] 클라우딩갤로그로 이동합니다. 12.03.13 125 0
306963 c언어고수횽들도와줘 ㅜㅜ [13] 급함(61.255) 12.03.13 117 0
306962 이거 무슨 글씨첸지 아시는분 [2] 이힝(121.177) 12.03.13 53 0
306961 그나저나 어제 면접 두탕뛰고 내일도 면접보러 가는데 쫄린다. [2] ㅇㅇ(1.253) 12.03.13 104 0
306960 비주얼 2010 분명히 있었는데 아무리 찾아도 못찾겠네 ㅇㅇ(210.113) 12.03.13 27 0
306959 뽀샵으로 피카츄 커브값 변경시켜봣음 ㅇㅁ(114.199) 12.03.13 83 0
306957 밑에 글 살춤이가 바보플머 이긴거? 생물학(203.226) 12.03.13 47 0
306955 형아들 [5] 빌어먹을야옹갤로그로 이동합니다. 12.03.13 67 0
306954 C 포인터가 어렵다던데 어디에서 어려워하면 되는거야? [4] ㅇㅁ(114.199) 12.03.13 150 0
306953 평소와 다르게 만들어주는 쿼리덕분에 머리 깨진다.. [1] SFCFS갤로그로 이동합니다. 12.03.13 53 0
306951 형들 왕초보인데 질문점... [5] ㅇㅇㅇ(61.106) 12.03.13 72 0
306947 형들 질문좀할깨 [2] ㅇㅇ(124.63) 12.03.13 47 0
306946 형들 똑같이 군대안갈라고 선택한거라도 VFV갤로그로 이동합니다. 12.03.13 61 0
306945 쿼리짜는데 화면에 있는 값을 SFCFS갤로그로 이동합니다. 12.03.13 31 0
306944 MFC로 이런 건 뭘로 만든 거냐? [1] ㅁㄴㄻㄹ갤로그로 이동합니다. 12.03.13 115 0
306943 뭔놈의 프로그램이 메모리 200G씩 써가면서 도나? [2] iljeomobolt갤로그로 이동합니다. 12.03.13 100 0
306942 쿄스케 봐라. [1] 바보플머(218.155) 12.03.13 45 0
306941 자랑처럼 들리는 것은 '사고의 기준차' 가 아니라 '복잡한 추론' 이다 [10] 바보플머(218.155) 12.03.13 109 0
306939 그 옛날에 프갤에 올라왔던 글인데 혹시 찾을수잇는사람있나? [1] 죄수(121.191) 12.03.13 62 0
306937 코드질문은아니니잠깐보고답변좀 [6] 나라용갤로그로 이동합니다. 12.03.13 67 0
306936 프로젝트는 망해가는데 회식한다... [2] 개떙보갤로그로 이동합니다. 12.03.13 125 0
306935 캠 하나로 2개 캠프로그램 실행문제좀 도와주세요 [2] ㄱㅋ(223.195) 12.03.13 39 0
306934 뉴비답게 공지부터 읽고 있는데요 [6] DeCoY갤로그로 이동합니다. 12.03.13 133 0
306932 ext4에 생성가능한 파일 갯수 아시는 횽 계세요? [2] 으흥(210.94) 12.03.13 74 0
306931 그런데 프로그래밍 입문 책으로 어떤게 좋나요? [2] DeCoY갤로그로 이동합니다. 12.03.13 104 0
306930 으아악 내일이 화이트데이 ㅡㅡ;; [3] 쿄스케갤로그로 이동합니다. 12.03.13 78 0
306929 오늘은 매우 기분이 좋아요 [4] DeCoY갤로그로 이동합니다. 12.03.13 98 0
306928 안뇽횽들 [4] 레브네인갤로그로 이동합니다. 12.03.13 84 0
306925 여기는 다들 능력자 인가보다.. [4] iljeomobolt갤로그로 이동합니다. 12.03.13 168 0
306923 자랑 좀 해보려고 한다.. [5] 아놔콘다갤로그로 이동합니다. 12.03.13 173 0
306922 나 병특인데 [3] 토페갤로그로 이동합니다. 12.03.13 142 0
306921 <h1>아! 내가 바보다!</h1> [1] 테스트(220.86) 12.03.13 36 0
306920 공비는 진리입니다 돌고래스피커갤로그로 이동합니다. 12.03.13 76 0
306918 공비인가 뭔가 왤케 잘난척해??? [9] 14114(203.246) 12.03.13 231 0
306917 비주얼베이직 asp 엑세스 3개를 연동하는데 yoexz(210.117) 12.03.13 82 0
306914 개발자들이여 지금 당장 일어나서 운동을 해라 [2] 서현빠돌이갤로그로 이동합니다. 12.03.13 134 0
306912 팩토리알 구하는게 무슨 의미가 있어??? [5] 에이시아(203.246) 12.03.13 165 0
306910 점심도 먹었는데 뮤비나 보며 잠을 깨자 서현빠돌이갤로그로 이동합니다. 12.03.13 33 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2