社区讨论
代码求调
P2404自然数的拆分问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mj3ytgmw
- 此快照首次捕获于
- 2025/12/13 15:19 2 个月前
- 此快照最后确认于
- 2025/12/13 15:54 2 个月前
大家帮忙看看我的代码怎么全WA
CPP#include <bits/stdc++.h>
using namespace std;
vector<vector<int>> vis;
void dfs(int n, vector<int>& path) {
if (n == 0 && path[0] != n) {
sort(path.begin(), path.end());
bool hasVis = false;
for (int i = 0; i < vis.size(); i++) {
if (path == vis[i]) {
hasVis = true;
}
}
if (hasVis == false) {
vis.push_back(path);
for (int i = 0; i < path.size(); i++) {
printf("%d", path[i]);
if (i != path.size() - 1) {
printf("+");
}
}
printf("\n");
}
return;
}
for (int num = 1; num <= n; num++) {
path.push_back(num);
dfs(n - num, path);
path.pop_back();
}
}
int main() {
int n;
scanf("%d", &n);
vector<int> path;
dfs(n, path);
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...