社区讨论

这题用深度优先算法应该是最方便的了

P1008[NOIP 1998 普及组] 三连击参与者 5已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mi6y3glz
此快照首次捕获于
2025/11/20 12:42
4 个月前
此快照最后确认于
2025/11/20 12:42
4 个月前
查看原帖
#include<bits/stdc++.h> using namespace std; int a[10],book[10]={}; void dfs(int step)//深度优先结构,不多讲了 { int i; if(step==10) { if((a[1]*100+a[2]*10+a[3])*2==a[4]*100+a[5]*10+a[6]&&(a[1]*100+a[2]*10+a[3])*3==a[7]*100+a[8]*10+a[9]) printf("%d%d%d %d%d%d %d%d%d\n",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]); return; } for(i=1;i<=9;i++) { if(book[i]==0) { book[i]=1; a[step]=i; dfs(step+1); book[i]=0; } } return; } int main() { dfs(1);//直接调用函数 system("pause"); return 0; }

回复

5 条回复,欢迎继续交流。

正在加载回复...