Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
136490 N皇后问题 C++ 解答错误 0 1000 MS 252 KB 664 2024-03-09 09:53:51

Tests(0/10):


#include <iostream> #include <stdlib.h> using namespace std; int column[100]; int queenNum=0; int count =0; int isAble(int row,int col){ for(int i=0;i<row;i++){ if(column[i]==col||abs(col-column[i]) == abs(i-row)){ return 0; } } return 1; } void findQueen(int rowNum){ if(rowNum==queenNum){ count++; return; } for(int i=0;i<queenNum;i++){//一行中,逐列去检索 if(isAble(rowNum,i)){//检验该位置是否可以安放 column[rowNum] = i;//记录列号 findQueen(rowNum+1);//下一行对下一个皇后进行安 } } } int main(){ cin>>queenNum; findQueen(0); cout<<"种数:"<<count<<endl; }


测评信息: