计蒜客课程算法—蒜头学算术(DFS)
来源:互联网 发布:淘宝颜真卿钢笔字帖 编辑:程序博客网 时间:2024/05/17 06:09
#include <bits/stdc++.h>
using namespace std;
int n; // 保存读入的整数N
bool opr[10]; // 可以用一个bool数组保存所有n-1个符号,我们用true表示加号"+",用false表示减号"-"。
bool found = false; // 表示是否找到一组解,如果没找到的话需要在最后输出"None"
// dfs函数,保存两个状态:deep表示递归深度,就是枚举到第几个数字左边的符号;sum表示之前部分表达式的值。
// 如果枚举完成后sum的值刚好为0,则输出这组方案。我们需要在搜索的过程中用opr数组保存状态。
void dfs(int deep, int sum) {
// 请在下面的条件表达式中填上对应的值。
if (deep == n ) {
if (sum == 0) {
found = true;
// 请在下面将最终方案输出,方案格式参照题目描述。
// 最后记得换行哦。
cout << "1";
for (int i = 1 ; i < n ; i++) {
if (opr[i] == true)
cout << "+";
else
cout << "-";
cout << i + 1 ;
}
cout << '\n';
}
return ;
}
// 请在下面的语句中填出正确的逻辑。
opr[deep] = true;
dfs( deep + 1, sum + deep + 1);
opr[deep] = false;
dfs( deep + 1, sum - deep - 1);
}
// main函数请自己完成哦,加油~
int main()
{
while (cin >> n) {
dfs(1 , 1);
if (!found)
cout << ("None\n");
}
return 0;
}
using namespace std;
int n; // 保存读入的整数N
bool opr[10]; // 可以用一个bool数组保存所有n-1个符号,我们用true表示加号"+",用false表示减号"-"。
bool found = false; // 表示是否找到一组解,如果没找到的话需要在最后输出"None"
// dfs函数,保存两个状态:deep表示递归深度,就是枚举到第几个数字左边的符号;sum表示之前部分表达式的值。
// 如果枚举完成后sum的值刚好为0,则输出这组方案。我们需要在搜索的过程中用opr数组保存状态。
void dfs(int deep, int sum) {
// 请在下面的条件表达式中填上对应的值。
if (deep == n ) {
if (sum == 0) {
found = true;
// 请在下面将最终方案输出,方案格式参照题目描述。
// 最后记得换行哦。
cout << "1";
for (int i = 1 ; i < n ; i++) {
if (opr[i] == true)
cout << "+";
else
cout << "-";
cout << i + 1 ;
}
cout << '\n';
}
return ;
}
// 请在下面的语句中填出正确的逻辑。
opr[deep] = true;
dfs( deep + 1, sum + deep + 1);
opr[deep] = false;
dfs( deep + 1, sum - deep - 1);
}
// main函数请自己完成哦,加油~
int main()
{
while (cin >> n) {
dfs(1 , 1);
if (!found)
cout << ("None\n");
}
return 0;
}
0 0
- 计蒜客课程算法—蒜头学算术(DFS)
- 计蒜客课程系列:蒜头学算术(DFS)
- 蒜头学算术,计蒜客算法学习记录
- 蒜头学算术
- 【计蒜客】基础算法入门之深度搜索(2)蒜头学算术d
- 算法学习——dfs篇——蒜头学算数
- 深度搜索之蒜头学算术
- (深度优先搜索第二课) 蒜头学算数 - DFS
- 计蒜客 蒜头君学英语
- 蒜头君学代数(二分)
- 基础算法之“蒜头君买书”
- 每天学一点算法-DFS
- 蒜头君学英语--set()练习
- 计蒜客 蒜头君开公司(全排列)
- 计蒜客 受欢迎的蒜头(tarjan缩点构图模板)
- 计蒜客bfs 蒜头君回家(增维打标记)
- 计蒜客 敲七,蒜头君买书
- 基础算法之“蒜头君采摘苹果”
- eclipse下 Tomcat启动成功 访问时却出现404错误
- pat 1055. The World's Richest (25)
- iWatch报错: Authorization request cancled
- android实现显示阳历和农历源码
- 已迁移到 Techzero 独立博客,欢迎访问!
- 计蒜客课程算法—蒜头学算术(DFS)
- javascript中获取非行间样式的方法。
- 陈力:传智播客古代 珍宝币 泡泡龙游戏开发第42讲:PHP数据库开发案例
- RPC通信功能实现
- 图片无限轮播-最简单的实现方法
- Android 四大组件学习之ContentProvider四
- jstl el 表达式详解
- SQL注入与防范
- ubuntu 删除内核文件