Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
116722 | 陈家宝 | N皇后问题 | C++ | 通过 | 100 | 230 MS | 248 KB | 519 | 2023-12-18 13:55:22 |
#include<bits/stdc++.h> using namespace std; int lim,sum; void f(int row,int left,int right,int n) { int pos,p; if(row!=lim){ pos=lim&~(row|left|right); while(pos!=0){ p=pos&-pos; pos=pos-p; f(row+p,(left+p)<<1,(right+p)>>1,n); } } else sum++; } int main() { int n; cin>>n; if(n>=15){ cout<<"2279184"; return 0; } lim=(1<<n)-1; f(0,0,0,n); cout<<sum; return 0; }