C프로그램 queen 소스 자세한설명쫌 부탁합니다
가온길
C프로그램 완전 초보입니다
밑에 queen소스 설명쫌 부탁드립니다.
그리고 지금 달린 주석 말고 주석 쫌 자세하게 설명 해주실수있나요
지금 이라인의 문장은 어떤 어떤 일을 하기 위해서 이렇게 쎃다던지
부탁쫌 드립니다. 아무리봐도 잘모르겠내요 ㅜㅜ#include stdio.h
#include malloc.h
#include math.h
void queens(int i, int n, int col[]); // n개 queen
void printqueen(int n, int col[]); // n개 queen의 위치 출력
int promising(int i, int col[]); // 유망한지 검사하는 함수
int cnt;
int main()
{
int i;
int n;
int* col;
printf(N*N행의 체스판과 N개의 bishop?\n );
scanf(%d, &n);
getchar();
col = (int*) malloc(sizeof(int)*n);
queens(0, n, col);
free(col);
return 0;
}
void queens(int i, int n, int col[])
{
int j;
if (promising(i, col)) // 유망한가?
if (i == n) {// n개의 queen 위치를 찾았나?
printqueen(n, col); // queen 위치 출력
printf(\n총 경우의 수: %d\n, cnt);
}
else
for(j = 1; j = n; j++) { // (i+1)번째 행에 있는 여왕말을
col[i+1] = j; // n개의 열에 놓을 수 있는지 각각
queens(i+1, n, col); // 검사한다.
}
}
void printqueen(int n, int col[]) // 깔끔하게 출력
{
int j, k;
for(j = 1; j = n; j++) {
for(k = 1; k col[j]; k++) {
printf( -- ); // queen이 없는 칸
}
printf( x ); // queen
for(k = col[j]; k n; k++)
printf( -- ); // queen 없는 칸
printf(\n);
printf(\n);
}
printf(\n);
printf(Press ENTER to continue);
cnt++;
getchar(); // 결과 값이 많으므로 하나의 결과값마다 멈추도록
}
int promising(int i, int col[]) // 유망한지 판단하는 함수
{
int k;
int bSwitch;
k = 1;
bSwitch = 1;
while( k i && bSwitch) {
/* col[i] == col[k] 는 같은 열에 있는지 판별한다
* abs(col[i] - col[k]) == i - k의 경우는
* 2개의 여왕말간의 행의 차와 열의 차의 절대값이 같으면
* 같은 대각선상에 있다는 의미이다. */
if(col[i] == col[k] || abs(col[i] - col[k]) == i-k)
bSwitch = 0;
k++;
}
return bSwitch;
}
-
핑1크캣 2023-06-22
퀸 자리 찾기는 알고리즘 문제에 있지요.ㅎ.
그렇다면 -_- 알고리즘 책을 찾아 보세요 ^^ -
로운 2023-06-22
과제는 스스로 하시는게 도움이 됩니다 ^^
대부분의 주석은 달려있는걸로 봐서 main절에 있는부분만 주석 다시면 될거 같은데요.
모르는 명령어는 책이나 검색을 활용하셔서 해결하시면 될뜻하네요
A+ 받으시길 기원합니다.^^
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2659623 | 가비아 질문좀 해도 되나요? (3) | 갤원 | 2024-06-27 |
2659571 | 고수님들 도와주세요.. (div코딩) (7) | 해님꽃 | 2024-06-26 |
2659545 | mysql 스케줄링에 대한 질문 (5) | 여름 | 2024-06-26 |
2659488 | Java가 실행이 않되요 (10) | 별글 | 2024-06-25 |
2659461 | 간단한 입력양식,,어떻게 하시나요 (2) | 날놓아줘 | 2024-06-25 |
2659431 | 패키지 질문 (4) | 개럭시 | 2024-06-25 |
2659405 | erwin에 대해서 질문좀 드릴게요 (5) | 세이 | 2024-06-25 |
2659375 | eclipse plug-in 어디서 구하나요? | 댓걸 | 2024-06-24 |
2659353 | Downloaded ProgramPiles 를 지웠는데 (2) | 연연두 | 2024-06-24 |
2659327 | [질문]자바에서 이런 게 있을까요? 웹관련.. (2) | 횃눈썹 | 2024-06-24 |
2659299 | 파일 삭제 소스 좀 아려주세요 | 들꿈 | 2024-06-24 |
2659245 | 소스짜기 질문 (6) | 민구 | 2024-06-23 |
2659223 | 텍스트필드에 마스크를 씌우니 (1) | 사랑은아픔 | 2024-06-23 |
2659194 | 왕초보입니다. 이것좀 바주세요 (6) | AngelsTears | 2024-06-23 |
2659170 | swf파일을 fla파일로 변환해서 ActionScript버전을 다운그레이드할수있나요? (2) | UniQue | 2024-06-22 |
2659142 | 안녕하세요... 제가 GPS 비슷한것을 만들려고 하는데 조언 부탁드립니다 | 도래솔 | 2024-06-22 |
2659115 | 인덱스가 배열 범위를 벗어났습니다. | 갤2 | 2024-06-22 |
2659087 | vertical-align:1px 이 무슨 뜻인가요? | 비치 | 2024-06-22 |
2659060 | 재생기 레이아웃 코딩 질문 드려요 (__) (6) | 지존 | 2024-06-21 |
2659033 | gridly 테마 가로폭/이미지 위치 변경문의 | 던컨 | 2024-06-21 |