社区讨论
61分求条【玄关】
P1219[USACO1.5] 八皇后 Checker Challenge参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mil1awyn
- 此快照首次捕获于
- 2025/11/30 09:21 3 个月前
- 此快照最后确认于
- 2025/12/01 23:30 3 个月前
CPP为什么TLE啊啊啊啊
#include<bits/stdc++.h>
using namespace std;
const int N=30;
int n;
int cnt=0;
int k=0;
int sum=0;
bool c[N],d[N],f[N];
int ans[N];
void dfs(int x){
if(x>n){
if(cnt==n){
sum++;
if(k<3){
k++;
for(int i=1;i<=n;i++)
cout<<ans[i]<<' ';
cout<<endl;
}
}
return;
}
for(int y=1;y<=n;y++){
if(!c[y] && !d[x+y] && !f[x-y+n]){
cnt++;
c[y]=d[x+y]=f[x-y+n]=true;
ans[x]=y;
dfs(x+1);
c[y]=d[x+y]=f[x-y+n]=false;
cnt--;
}
}
dfs(x+1);
}
int main(){
cin>>n;
dfs(1);
cout<<sum<<endl;
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...