알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 5장 예제코드 및 연습문제

Dev
개인인증판매자스토어
최초 등록일
2016.09.15
최종 저작일
2015.05
14페이지/한글파일 한컴오피스
가격 1,000원 할인쿠폰받기
다운로드
장바구니
인스타 팔로우이벤트

소개글

알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 5장 예제코드 및 연습문제
*연습문제는 1번, 4번, 16번, 23번, 30번만 포함되어 있습니다. 착오 없으시길 바랍니다.

목차

1. n - 여왕말 문제
2. m - 색칠하기 문제
3. 5장 연습문제

본문내용

문제: 서양장기판에 어떤 두 여왕말도 같은 행, 열, 대각선에 있지 않도록 n개 여왕말을 놓아라.
입력: 양의 정수 n
출력: n X n 서양장기판에 n개 여왕말을 서로 위협받지 않고 놓을 수 있는 가능한 모든 방법. 각 출력은 인덱스 범위가
1부터 n까지인 정수 배열 col로 이루어진다. 여기서 col[i]는 i번째 행에 있는 여왕말의 놓여 있는 열이다.
void queens(index I){
index j;

if(promissing(i))
if(i == n) cout << col[1] through col[n];
else
for (j=1; j<=n; j++){ //(i+1)번째 행에 있는 여왕말을 n개의 열에
col[i + 1] = j;//놓을 수 있는지 각각 검사
queens(i + 1);
}
}

bool promissing (index I){
index k;
bool switch;

k = 1;
switch = true;//i번째 행에 있는 여왕말을 위협하는
while (k<i && switch){//여왕말이 있는지 검사
if(col[i] == col[k] || abs(col[i] - col[k]) == i - k)
switch = false;
k++
}
return switch;
}

#define n 4//입력값: n행 x n열 서양 장기판에 n개의 여왕말
int col[n+1];//i번째 행에 있는 여왕말이 놓여있는 열
int count=1;
bool promising(int i);
void queens(int i){
int j;
if(promising(i)){
if(i==n){
cout<<endl<<"("<<count<<") ";
count++;
for(j=1; j<=n; j++)
cout<<col[j]<<" ";
}else
for(j=1; j<=n; j++){//(i+1)번째 행에 있는 여왕말을 n개의 열에
col[i+1]=j;//놓을 수 있는지 각각 검사
queens(i+1);
}
}

참고 자료

없음

자료후기(2)

Dev
판매자 유형Gold개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

우수 콘텐츠 서비스 품질인증 획득
최근 본 자료더보기
알고리즘(3판)(FOUNDATION OF ALGORITHMS USING C++ PSEUDOCODE) 5장 예제코드 및 연습문제