社区讨论
求助!!!
P1996约瑟夫问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lu4sjzfi
- 此快照首次捕获于
- 2024/03/24 08:39 2 年前
- 此快照最后确认于
- 2024/03/24 10:19 2 年前
想用dfs做,做了几遍样例也没通过
CPP#include <bits/stdc++.h>
using namespace std;
bool light[105]={false};
int ans[105] = {};
int an , y , v = 0 , num = 0 , a[105] = {};
void dfs(int d){
int h = y,az=0;
if(d == an - 1){
for(int i = 0;i < an; ++ i){
cout << a[i] << " ";
}
return ;
}
else{
for(int i = 1; i <= an; ++i){
if(light[i] == true) az++;
}
if(num + y <= an) {
light[num + y - az] = true;
ans[num + y - az] = a[num + y - az];
}
dfs(d+1);
}
}
int main() {
cin >> an >> y;
for(int i = 0; i < an; i ++){
a[i] = i+1;
}
dfs(0);
return 0;
}
谁能帮我看一下
回复
共 0 条回复,欢迎继续交流。
正在加载回复...