當前位置:成語大全網 - 新華字典 - 編程話題朱大源系列愛上n女王。

編程話題朱大源系列愛上n女王。

#?包括?& ltstdio.h & gt

#?包括?& ltmath.h & gt

#?包括?& ltstdlib.h & gt

int?col[11],左[15],右[15];

int?女王[11];

int?n = 0;int?sum = 0;int?q[20];

int?sum 1 = 0;

作廢?Queens(int,int);

int?Place(int,int);

作廢?print(int);

int?主()

{

int?n;

while(scanf("%d ",& ampn)!=EOF)

{

皇後區(1,n);

printf("%d\n\n ",sum 1);

}

回歸?0;

}

作廢?Queens(int?k,int?n)

{

int?我;

如果(n & ltk)?打印(n);

其他

{?//每行從第壹列開始。

for(I = 1;我& lt= n;I++)//當K行I列可以放皇後時,會立即進入下壹行,每行只能有壹個皇後。

if(Place(i,k)==1)

{//標記

q[k]= I;?//轉到下壹行

皇後區(k+1,n);

}

}

}

int?Place(int?I,int?k)?//這個函數是決定皇後是否可以放在那個位置。

{

int?j = 1;

while(j & lt;k)

{

if((q[j]= = I)| | ABS(q[j]-I)= = ABS(j-k))?//當第I列第K行放不下時。

回歸?0;?//返回結果false

j++;

}

回歸?1;?//能放的話是真的。

}

作廢?print(int?n)

{

int?我;?//打印結果

for(I = 1;我& lt= n;i++)

printf("%d?",q[I]);

sum 1++;

printf(" \ n ");

}