POJ 1950 Dessert
该说终于rand到一道正常画风的搜索题吗...
本题就是简单dfs 不过在“.”这个符号的处理上边要想想...
注意深度大于20层是不打印的...之前因为这个OLE了好几次...
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;int n, tot;
char opera[20];void dfs(int depth, int sum, int pre) {if(depth == n) { if(!sum) { tot++;if(tot <= 20) {for(int i = 1; i < n; ++i) printf("%d %c ", i, opera[i]);printf("%d\n", n);}}}else {opera[depth] = '+';dfs(depth + 1, sum + depth + 1, depth + 1);opera[depth] = '-';dfs(depth + 1, sum - depth - 1, depth + 1);opera[depth] = '.'; int next;if(depth < 9) next = pre * 10 + depth + 1;else next = pre * 100 + depth + 1;int i = depth - 1;while(opera[i] == '.' && ~i) --i;if(opera[i] == '+') dfs(depth + 1, sum + next - pre, next);else if(opera[i] == '-') dfs(depth + 1, sum - next + pre, next);}
}int main() {scanf("%d", &n);opera[0] = '+';dfs(1, 1, 1);printf("%d\n", tot);return 0;
}
POJ 1950 Dessert相关推荐
- poj 1950 Dessert 深搜
题意: 给n,问有多少和由1,2...n,和'+','-','.'(表示连接,4.5表示45)组成,值为0的表达式. 分析: 深搜,因为要枚举到"连接"的情况,所以传送pre表示上 ...
- poj 1950 Dessert(dfs枚举,模拟运算过程)
/* 这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值! 如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值(这种方法见第二个代码),直到最后,这样不必每一次枚举都要从头再 ...
- POJ 1950 Dessert DFS 搜索
题意:输入n(1 <= n <= 15),求由1到n的数经过'+','-'或'.'三种运算后值为0的可能情况数,并输出前20组答案,若不足20组,输出全部. (10 ...
- poj 1950 Dessert(dfs)
*题意: 在1到n之间添加'+','-','.'三种运算符令最后结果为0,输出前20种添加方法,若不足20种则全 输出,最后输出共有多少种添加方式.('.'表示将其两侧的数连成一个数例:1 ...
- ACM题集以及各种总结大全(转)
ACM题集以及各种总结大全! 虽然退役了,但是整理一下,供小弟小妹们以后切题方便一些,但由于近来考试太多,顾退役总结延迟一段时间再写!先写一下各种分类和题集,欢迎各位大牛路过指正. 一.ACM入门 关 ...
- python ocr高精度识别_OCR识别-python版(一)
需求:识别图片中的文字信息 环境:windows系统 开发语言:python 使用工具类:1.pyocr 2.PIL 3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令: pi ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- POJ 超详细分类
POJ 各题算法 1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 ...
- POJ的题目分类(两个版本)
版本一: 简单题 1000A+B Problem 1001Exponentiation 1003 Hangover 1004 Financial Management 1005 I Think I N ...
最新文章
- 1418 This function has none of DETERMINISTIC,NO SQL,or R
- android 8.0 l2tp问题,【Win】使用L2TP出現809錯誤
- 【前端】JSON.stringfy 和 JSON.parse(待续)
- 操作系统 :银行家算法的实现(C++)
- JavaFX UI控件教程(八)之Choice Box
- 【渝粤教育】国家开放大学2018年秋季 0350-21T幼儿园课程论 参考试题
- python中求包含5的数_Python 内置函数 ( ) 可以返回列表、元组、字典、集合、字符串以及 range 对象中元素个数。_学小易找答案...
- 如何解决90%的问题?10位阿里大牛公布方法
- nyoj-155-求高精度幂(java大数)
- 图文详解贷中监控报表与资产质量分析全过程
- mysql实验6答案_SQL 2008课后习题答案 实验6
- 机器学习模型可解释性进行到底——特征重要性(四)
- vue2.0项目的环境配置以及有哪些的坑
- 基于前后端分离的模版探索
- 如何用计算机记英语词汇,计算机英语词汇学习方法
- 个人做代理记账如何接活
- 新能源汽车车载智能终端t-box
- R语言运行环境安装配置
- 【渗透测试】锐捷网络-EWEB网管系统易网关批量GetShell
- Apache KafKa阅读官方文档心得