社区讨论
为啥不开O2会WA啊 求解答
P1219[USACO1.5] 八皇后 Checker Challenge参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @logkb7nh
- 此快照首次捕获于
- 2023/11/02 10:23 2 年前
- 此快照最后确认于
- 2023/11/02 10:23 2 年前
一开始36分我还以为代码问题 下载数据后发现一模一样 开了O2后莫名其妙的就过了 代码如下
CPP#include<bits/stdc++.h>
using namespace std;
int h[15],l[15],x1[1145],x2[1145],ans=0,u,sbfuck=1;
void print(){
for(int i=0;i<u;i++){
cout<<h[i]+1<<" ";
}
cout<<endl;
}
void dfs(int n){
if(n == u){
if(sbfuck<=3){
print();
sbfuck++;
}
ans++;
return;
}
else{
for(int i=0;i<u;i++){
if(l[i]!=1 and x1[i+n-u]!=1 and x2[n-i+u]!=1){
h[n] = i;
l[i] = 1;
x1[i+n-u]=1;
x2[n-i+u]=1;
dfs(n+1);
l[i] = 0;
x1[i+n-u]=0;
x2[n-i+u]=0;
}
}
}
}
int main(){
memset(h,0,sizeof(h));
memset(l,0,sizeof(l));
memset(x1,0,sizeof(x1));
memset(x2,0,sizeof(x2));
cin>>u;
dfs(0);
cout<<ans;
return 0;
}
求解答 谢谢啦
回复
共 3 条回复,欢迎继续交流。
正在加载回复...