题目链接:

https://nuoyanli.com/contest/38/problem/J

题面:

题意:

给出两个整数m,n(0<=n<=m<10^20),YZJ学长想知道m除第一位外的每一位经过‘+’或‘-’运算后的结果等于n的方案数量。
例如 m=1111,n=0,方案:1+1-1-1=0,1-1-1+1=0,1-1+1-1=0 方案数量:3。
例如 m=21,n=1,方案:2-1=1 方案数量:1。

思路:

首先m给的特别大,我们肯定是需要用字符串存储的,然后其实题目中的n的数值如果有方案的情况下。最大也只是20个9相加,所以n的数值其实没有很大,我们只需要用int存储n就可以了,然后第一个数字是一定要加的,我们就从第一个数字往后,用dfs来遍历每一种相加相减的情况,然后当把所有位数都继续加或减完了之后,继续判断这种情况是否满足等于n,如果等于n,就是一种方案,然后ans加1,最后就直接输出ans就是答案。

参考代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
using namespace std;
char m[1000];
int n,len,i,ans=0;
void dfs(int x,int y)
{if(x==len)//当把每一位数字都加完时才进行判断是否等于n的数值{if(y==n)//如果最后加起来的数值等于n就意味为一种方案,ans就加1{ans++;}return ;}else//如果还没有把每一位数字都加上,就继续加{dfs(x+1,y+m[x]);//加法的情况dfs(x+1,y-m[x]);//减法的情况}
}
int main()
{while(scanf("%s %d",m,&n)!=EOF){ans=0;len=strlen(m);for(i=0; i<len; i++){m[i]=m[i]-'0';//先将字符串中对应的字符全部转换为对应的数字}dfs(1,m[0]);//因为第一位数字是直接加上去的,所以我们就从第一位为起点,然后开始继续dfs遍历搜索。printf("%d\n",ans);//最后输出总的方案数目}
}

yzj学长的即兴发挥相关推荐

  1. 阳新一中2021高考成绩查询入口,点燃激情,赢在高考----阳新一中2021届高三年级百日誓师暨励志演讲报告会...

    原标题:点燃激情,赢在高考----阳新一中2021届高三年级百日誓师暨励志演讲报告会 阳新一中2021届高考励志演讲报告会 2月23日上午八点,阳光明媚,春风和煦,阳新一中全体校委会领导以及2021届 ...

  2. 双非二战一志愿上岸国科大杭州高等研究院经验

    一.简要介绍一下情况 本科就读于西南石油大学,软件工程专业. 21一战电子科技大学计算机专硕没上岸,当时相当于七月份开始复习,加上因为一些外在原因复习状态差,再加上数一英一820内容相对较多和复习策略 ...

  3. 2018 香港大学面试经历(Msc in Computer Science) 上香还愿

    香港大学面试2018 3月4号北京场 面试之前在CSDN上看过一个博主写的面试经历非常有用,所以我也把自己的面试经历写下来,希望能帮助到可能会参加面试的小伙伴.mua~ 2017面试的学长博客: ht ...

  4. 如何更好的招聘软件测试人员?

    以前就有过一些招聘的经历,自己也面试过几次,碰到过各种各样的应聘者,也碰到过各种各样的面试官,关于招聘和面试也总结一些自己的心得. 先说招聘吧!我觉得有几点是比较重要的: 1. 不太去关注答案,应该更 ...

  5. 集团年终总结的几点体会

    参加过各种各样形式的年终总结会,大多以报功宣传.鼓励士气为主,有些外企搞的更是十分盛大,但鲜有真正分析和共享企业发展和管理心得的报告.但是,这次集团在2009年的年终总结,却让我改变了这一看法.  ...

  6. AI创业哪家强?6大选择给你方向

    人工智能被认为是当代"最热门"的工作.根据<财富>杂志统计,雇佣AI专家的人数在过去4年里增长了74%,社会对人工智能专家的需求正以前所未有的速度增长.人工智能的子领域 ...

  7. 《自然》:修复AI神经网络的缺陷

    来源:王宏琳科学网博客 我在上一篇<海外观察>博客中,介绍了纽约大学马库斯教授和戴维斯教授的新书<重启 AI:构建我们可以信任的人工智能>和图灵奖得主朱迪亚•珀尔的著作< ...

  8. 可交互的对抗网络如何增强人类创造力?

    编译:集智翻译组 来源:distill.pub 作者:Shan Carter,Michael Nielsen 原题:Using Artificial Intelligence to Augment Hu ...

  9. ​批评代码而不是人!15 年程序员的职场箴言

    [CSDN 编者按]获得成功必然是一个不断学习成长的过程.在这个过程中,来自别人的指导意见以及经验之谈会给予我们一些启发和提示,从而避免许多不必要的弯路.择其善者而从之,其不善者而改之. 声明:本文仅 ...

  10. ansys如何删除线_ANSYS影响面计算与绘制方法介绍

    影响线与影响面是在土木结构分析里面必须掌握的两个概念,工程设计很多时候需要借助影响线或者影响面来确定荷载最不利加载位置,尤其是在桥梁结构设计中.本公众号以前发过一篇关于采用ANSYS进行影响线计算的文 ...

最新文章

  1. 参观Speedy Cloud 有感
  2. 07-阻塞赋值与非阻塞赋值原理分析——小梅哥FPGA设计思想与验证方法视频教程配套文档...
  3. android 数字时钟代码大全,Android自定义view实现数字时钟
  4. Comet OJ(Contest #14)-飞翔的小鸟【tarjan】
  5. 类似endnote_求推荐一款文献管理软件?
  6. 7种主流案例,告诉你调度器架构设计通用法则(干货!)
  7. (125)FPGA面试题-熟悉AXI总线吗,介绍AXI
  8. logistic公式形式的由来,从广义线性回归说起
  9. 无法登录苹果开发者_苹果开发者账号最新2020申请方式可支付宝微信付款
  10. qkerntool使用说明
  11. Java基础学习(1)-反射
  12. .NET Interop.SHDocVw和MSHTML引用如何操作
  13. louvain算法python_【转载】LOUVAIN算法
  14. 单文件小型数据库的选择
  15. Redis穿透、击穿、雪崩解决方案
  16. 为互连智能合约Connected Contracts使用Axelar SDK
  17. jupyter 阿里云服务器配置 远程连接 开机自动启动服务
  18. 如何给图片加水印,图片加水印怎么加
  19. 【小白目标检测】手把手教你做视频中的实时目标检测(基于Pelee算法)
  20. 九宫八阵图之虐翼阵——网闸

热门文章

  1. 聚合支付系统搭建如何对接
  2. windows系统安装指南-微PE版
  3. b站的视频如何下载到手机上
  4. angular中uibpagination里面参数配置
  5. 《微信公众号-腾讯问卷》02-如何在公众号中添加链接
  6. sass-------sass的基本介绍、node.js的sass工具
  7. Python 用sympy做高数题,不定积分、定积分、极限、求导样样精通!
  8. 使用 Docker 部署的微服务在 Nacos 里注册成内网地址 导致无法微服务间互相调用的解决方案...
  9. IPV4内网地址网段
  10. 苹果手机收不到推送信息_苹果手机微信收不到信息怎么回事(超详细解决方案分享)...