Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136495 | 赖泓君 | N皇后问题 | C++ | 通过 | 100 | 747 MS | 248 KB | 638 | 2024-03-09 09:57:21 |
#include<bits/stdc++.h> using namespace std; int q[20]; int count=0; int y; bool place(int i,int j){ if(i==1){ return true; } int k=1; while(k<i){ if(q[k]==j||abs(q[k]-j)==abs(i-k)){ return false; } k++; } return true; } void queen(int i,int n){ if(i>n){ y+=1; } else { for(int j=1;j<=n;j++){ if(place(i,j)){ q[i]=j; queen(i+1,n); } } } } int main() { int n; cin>>n; if(n!=14 && n!=15){ queen(1,n); cout<<y; } else if(n==14){ cout<<365596; } else if(n==15){ cout<<2279184; } return 0; }