社区讨论
我觉得我有毛病
P1219[USACO1.5] 八皇后 Checker Challenge参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mjrrh5pd
- 此快照首次捕获于
- 2025/12/30 07:00 2 个月前
- 此快照最后确认于
- 2025/12/30 08:09 2 个月前
第一次代码:
CPP#include<bits/stdc++.h>
using namespace std;
int ans[7891];
bool a[7891],b[7891],c[7891];
int cnt,n;
void dfs(int pos)
{
if(pos>n)
{
cnt++;
if(cnt<=3)
{
for(int i=1;i<=n;i++)
{
cout<<ans[i]<<" ";
}
cout<<"\n";
}
return;
}
for(int i=1;i<=n;i++)
{
if(!a[i]&&!b[pos+i]&&!c[pos-i+n]);
{
ans[pos]=i;
a[i]=1;
b[pos+i]=1;
c[pos-i+n]=1;
dfs(pos+1);
a[i]=0;
b[pos+i]=0;
c[pos-i+n]=0;
}
}
}
int main()
{
cin>>n;
dfs(1);
cout<<cnt;
return 0;
}
第二次代码:
CPP#include<bits/stdc++.h>
using namespace std;
int ans[7891];
bool a[7891],b[7891],c[7891];
int cnt,n;
void dfs(int pos)
{
if(pos>n)
{
cnt++;
if(cnt<=3)
{
for(int i=1;i<=n;i++)
{
cout<<ans[i]<<" ";
}
cout<<"\n";
}
return;
}
for(int i=1;i<=n;i++)
{
if(!a[i]&&!b[pos+i]&&!c[pos-i+n])
{
ans[pos]=i;
a[i]=1;
b[pos+i]=1;
c[pos-i+n]=1;
dfs(pos+1);
a[i]=0;
b[pos+i]=0;
c[pos-i+n]=0;
}
}
}
int main()
{
cin>>n;
dfs(1);
cout<<cnt;
return 0;
}
我dfs的时候,if后面打了个分号!!!!!!!!!
回复
共 4 条回复,欢迎继续交流。
正在加载回复...