HDU: 2553 N 황후 문제 (심층 검색)

1616 단어 DFS수색 하 다.
N 황후 문제
Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 32768/32768 K (Java/Others)TotalSubmission(s): 18302    Accepted Submission(s): 8278
ProblemDescription
N * N 의 네모 난 바둑판 에 N 개의 황 후 를 배치 하여 서로 공격 하지 않도록 합 니 다. (즉, 임의의 2 명의 황 후 는 같은 줄, 같은 열 에 있 는 것 을 허락 하지 않 고 바둑판 테두리 와 45 각 의 사선 에 있 는 것 도 허락 하지 않 습 니 다. 당신 의 임 무 는 주어진 N 에 대해 몇 가지 합 법 적 인 방치 방법 을 구 하 는 것 입 니까?
 
 
Input
모두 몇 줄 이 있 고 각 줄 의 정수 N ≤ 10 은 바둑판 과 황후 의 수량 을 나타 내 며 N = 0 이면 끝 을 나타 낸다.
 
 
Output
모두 몇 줄 이 있 고 줄 마다 정수 가 있 으 며 입력 줄 에 대응 하 는 황후 의 서로 다른 배치 수량 을 나타 낸다.
 
 
SampleInput
1
8
5
0
 
 
SampleOutput
1
92
10
 
 
Author
cgf
 
 
Source
2008 HZNU Programming Contest
 
 
Recommend
lcy
 
제목 대의: n * n 바둑판 에 n 개의 바둑 (바둑 은 차이 가 없다) 을 두 면 이 바둑 들 이 서로 동행 하지 않 고 서로 다른 열 을 두 며 서로 대각선 에 있 지 않 게 n 을 주 고 몇 가지 바둑 의 배열 방법 이 있 는 지 물 어 봅 니 다.
문제 풀이 방향: n * n 의 바둑판 에서 n 개의 바둑 을 두 면 첫 번 째 바둑 알 은 반드시 첫 번 째 줄 에 두 어야 하기 때문에 첫 번 째 줄 의 n 가지 상황 을 쓸 고 다음 에 문제 의 뜻 에 맞 게 퍼 져 야 한다 (이 문 제 는 미리 데 이 터 를 표를 잘 쳐 서 해 야 한다. 그렇지 않 으 면 시간 을 초과 할 수 있다).
코드 는 다음 과 같 습 니 다:
#include 
#include 
int qizi[20];//qizi【i】=j    i  j     
int biao[11];//      ,      
int n;
int qingkuang;
bool judge(int hang)
{
	for(int i=1;i

좋은 웹페이지 즐겨찾기