⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c-nqueens.cpp

📁 C_NQueens Ask not what your country can do for you Ask what you can do for your country.
💻 CPP
字号:
#include "stdio.h"

int X[128];

int ABS(int r){
	if(r>=0) return r;
	else return(-r);
}

bool place(int k){
	int i;
    i=1;
    while(i<k){
		if(X[i]==X[k]||ABS(X[i]-X[k])==ABS(i-k))
			return(false); 
        i=i+1;
    }
	return(true);
}

int NQueens(int n){
	int k,count=0;
    X[1]=0;
	k=1;
	while(k>0){
		X[k]=X[k]+1;
		while(X[k]<=n && !place(k)){
			X[k]=X[k]+1;
		} 
		if(X[k]<=n){
			if(k==n){ 
				printf("print X%d:\n",++count);				
				for(int m=1;m<=k;m++){
					for(int b=1;b<=k;b++){
					  if(b==X[m]) printf(" Q");
					  else printf(" *");					  
					}
					printf("\n");
				}
				printf("\n");				
//				if(count==k) return 1;
			}
			else{
				k=k+1;
				X[k]=0;
			}
		}	
        else k=k-1;		
	} 
	return 0;
}

void main(){
    int a;
    printf("please input a integer data:");
    scanf("%d",&a);
    NQueens(a);
}








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -