8황후 문제(귀속, 거슬러 올라가는 알고리즘)
8황후 문제
문제 소개: 팔황후 문제는 오래되고 유명한 문제로 거슬러 올라가는 알고리즘의 전형적인 사례이다.이 문제는 국제 서양 바둑 기사 맥스 베셀이 1884년에 제기한 것이다. 8*8칸의 국제 장기에 8개의 황후를 놓아서 서로 공격할 수 없게 한다. 즉, 임의의 두 황후가 같은 줄에 있을 수 없거나 같은 직선에 있을 수 없다는 것이다.
생각
1. 첫 번째 황후가 먼저 1열에 놓기 2.두 번째 황후는 두 번째 줄의 첫 번째 열에 놓고 OK 여부를 판단한다. OK가 없으면 계속 두 번째 열, 세 번째 열에 놓고 순서대로 모든 열을 다 놓고 적당한 것을 찾는다.세 번째 황후를 계속해서, 아니면 첫 번째 열, 두 번째 열, 여덟 번째 황후도 충돌하지 않는 위치에 놓을 수 있을 때까지 정확한 해를 찾은 셈이다.정확한 해를 얻었을 때, 창고가 이전 창고로 되돌아갈 때, 거슬러 올라가기 시작하고, 곧 황후가 1열에 놓인 모든 정확한 해를 모두 얻는다.그리고 뒤돌아서서 첫 번째 황후를 2열에 놓고 1, 2, 3, 4단계를 계속 순환합니다.
public class QueueEight {
// queue
static int count = 0;
int queue = 8;
// array,
int []array = new int[queue];
public static void main(String []args) {
//
QueueEight queueEight = new QueueEight();
queueEight.check(0);
System.out.println(" "+count+" ");
}
// n
// :check , check for() ,
public void check(int n) {
if(n==queue) {//n==8,8
print();
return ;
}
//
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python 꼬리 귀속 최적화 실현 코드 및 원리 상세
전통적인 귀환에서 전형적인 모델은 첫 번째 귀환 호출을 실행한 다음에 다음 귀환을 호출해서 결과를 계산하는 것이다.이런 방식은 도중에 계산 결과를 얻지 못하고 모든 귀속 호출이 되돌아오는 것을 안다.이렇게 하면 코드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
public class QueueEight {
// queue
static int count = 0;
int queue = 8;
// array,
int []array = new int[queue];
public static void main(String []args) {
//
QueueEight queueEight = new QueueEight();
queueEight.check(0);
System.out.println(" "+count+" ");
}
// n
// :check , check for() ,
public void check(int n) {
if(n==queue) {//n==8,8
print();
return ;
}
//
for(int i=0;i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python 꼬리 귀속 최적화 실현 코드 및 원리 상세전통적인 귀환에서 전형적인 모델은 첫 번째 귀환 호출을 실행한 다음에 다음 귀환을 호출해서 결과를 계산하는 것이다.이런 방식은 도중에 계산 결과를 얻지 못하고 모든 귀속 호출이 되돌아오는 것을 안다.이렇게 하면 코드...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.