题意;

给n,问有多少和由1,2...n,和'+','-',’.‘(表示连接,4.5表示45)组成,值为0的表达式。

分析:

深搜,因为要枚举到“连接”的情况,所以传送pre表示上个表达式中最后一个数字。

代码:

//poj 1950
//sep9
#include <iostream>
using namespace std;
__int64 n,tot,printNum;
__int64 ans[32];void dfs(__int64 sum,__int64 cur,__int64 pre)
{//printf("%I64d\n",sum);if(cur==n+1){if(sum!=0)return ;++tot;if(tot>20)return ;__int64 i;printf("1");for(i=2;i<=n;++i){if(ans[i]==0)printf(" + ");else if(ans[i]==1)printf(" - ");elseprintf(" . ");printf("%d",i);}printf("\n");return ;}  ans[cur]=0;dfs(sum+cur,cur+1,cur);ans[cur]=1;dfs(sum-cur,cur+1,-cur);ans[cur]=2;__int64 digits,newNum;if(cur<10)digits=10;elsedigits=100;    if(pre<0)newNum=pre*digits-cur;elsenewNum=pre*digits+cur; dfs(sum-pre+newNum,cur+1,newNum);
}int main()
{scanf("%I64d",&n);tot=0;printNum=0;dfs(1,2,1); printf("%I64d",tot);return 0;
} 

poj 1950 Dessert 深搜相关推荐

  1. I - 滑雪 POJ - 1088(深搜,记忆化搜索)

    Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道载一个区域中最长底滑坡. ...

  2. POJ 1950 Dessert DFS 搜索

    题意:输入n(1 <= n <= 15),求由1到n的数经过'+','-'或'.'三种运算后值为0的可能情况数,并输出前20组答案,若不足20组,输出全部.             (10 ...

  3. poj 1950 Dessert(dfs枚举,模拟运算过程)

    /* 这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值! 如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值(这种方法见第二个代码),直到最后,这样不必每一次枚举都要从头再 ...

  4. POJ 1950 Dessert

    该说终于rand到一道正常画风的搜索题吗... 本题就是简单dfs 不过在"."这个符号的处理上边要想想... 注意深度大于20层是不打印的...之前因为这个OLE了好几次... ...

  5. poj 1950 Dessert(dfs)

    *题意: 在1到n之间添加'+','-','.'三种运算符令最后结果为0,输出前20种添加方法,若不足20种则全       输出,最后输出共有多少种添加方式.('.'表示将其两侧的数连成一个数例:1 ...

  6. Poj(2488),按照字典序深搜

    题目链接:http://poj.org/problem?id=2488 思路:按照一定的字典序深搜,当时我的想法是把所有的可行的路径都找出来,然后字典序排序. 后来,凡哥说可以在搜索路径的时候就按照字 ...

  7. 简单深搜(poj 3009)

    题目链接:http://poj.org/problem?id=3009 题目:冰壶撞向目的地,只有遇到"1"才能停下来,并且把"1"撞成"0" ...

  8. POJ 1562深搜判断连体油田个数

    http://poj.org/problem?id=1562 大意:输入mp二维矩阵,规定'@'连体的包括对角线为一片油田,统计共有多少油田.深搜方向数组dir设置8个方向遇到@继续搜索把当前位置赋值 ...

  9. POJ 3414 Pots(深搜并打印路径)

    POJ 3414 Pots(深搜并打印路径) You are given two pots, having the volume of A and B liters respectively. The ...

最新文章

  1. 图解计算机中数据的表示形式
  2. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk
  3. ASP.NET MVC 整合 Spring.net(1)- Controller进容器
  4. c语言规范标准中英文,C语言中英文翻译资料.doc
  5. 小米12系列首发!高通骁龙898有望11月30日亮相
  6. python中easygui有几种_一、Python 模块EasyGui详细介绍
  7. struts1(转)
  8. android搜狗离线安装包,搜狗翻译离线版下载
  9. php框架thinkphp教程,thinkPHP5.0框架安装教程详解
  10. 梦龙雪糕新代言人近日亮相,带来不止视觉与味蕾的欢愉享受!
  11. 值得信赖的数据同步备份软件 -Allway Sync 安全又可靠,简单又易用!
  12. html根据PC手机设置不同背景图,Html-根据不同的分辨率设置不同的背景图片
  13. SQLyog Ultimate最流行的数据库管理工具之一
  14. 人生规划:事业成功的导航仪
  15. SLAM导航机器人零基础实战系列:(一)Linux基础——2.安装Linux发行版ubuntu系统
  16. oracle如何增加initial,Oracle修改表和索引的INITIAL初始化大小
  17. 保姆级教程—部署SpringBoot项目至云服务器(华为云)
  18. Arduino之个人健康助理——简易智能药盒系列2
  19. 在andriod手机上video视频播放时自动置顶自动全屏的问题
  20. c#和python哪个效率高_【为什么C#排名和Python相差越来越大?】-看准网

热门文章

  1. 从零搭建韦东山老师一期的Ubuntu环境
  2. 非对称加密 公钥解密_了解非对称公钥加密
  3. AKABEiSOFT2经典作品推荐 車輪の国、向日葵の少女( 攻略、汉化、特典、PSP转换器)...
  4. 分区助手扩大C盘,亲测有效
  5. Y7000 2018版(I7-8650H 1050T)黑苹果安装攻略附带工具安装包
  6. NFC芯片群读应用,RFID娱乐筹码、棋子FPC定制标签
  7. 数学符号的意义总结(未完待续)
  8. 安装微信小程序开发者工具
  9. 根据简化真值表绘制电路
  10. gentoo virtual couldnt download