链接:https://vjudge.net/contest/477437#problem/B

题意:给一个树(描述方法非常烦人),要求查看是否有某个 从根到叶子的路径节点数值之和 等于给定的值。

题解:用cin来交替输入char和int,可以比较好地将字符与数字分离(过程中记得cin.clear() )

#include<iostream>
using namespace std;
int ans,sum;
bool flag;
bool ok;
/*
题目中可以抽象为(  根节点  (左子树)  (右子树)  )如何判断是叶子节点?  (节点值 () () )
*/bool dfs(int sum){int n;//当前走到的节点的数值char l,r;//用来输入左右括号,实际没什么用bool ll,rr;//记录左右是否有子树cin>>l;//消去左括号cin.clear();    //这里必须clear,否则会wa   if(cin>>n){ok=1;//打标记,证明这不是一个空树sum+=n;cin.clear();    //这里必须clear,否则会wa ll=dfs(sum);//递归进入左子树rr=dfs(sum);//递归进入右子树if(ll&&rr&&sum==ans) flag=1;//查看当前节点是否是叶子节点,如果是就与答案比较cin>>r;//消去右括号return 0;//返回值,此处代表访问的括号对里面有东西}cin.clear();    //这里必须clear,否则会wa cin>>r;//消去右括号return 1;//返回值,此处代表访问的括号对里面没有东西}int main(){while(cin>>ans){ok=0;flag=0;sum=0;dfs(0);if(flag&&ok){cout<<"yes"<<endl;}else{cout<<"no"<<endl;}}
}

B-Tree Summing 记录一种用来处理复杂输入的好方法相关推荐

  1. 记录两种打包后在手机上看日志的方法(vconsole和eruda)

    之前经常用这种方法在手机上进行调试,打印错误日志.这次记录一下. 使用 vconsole.min.js,代码如下: <script src="https://cdn.bootcss.c ...

  2. js cookie 存储checkbox_[cookie实战记录-1]种下一个cookie

    [cookie实战记录-1]种下一个cookie 引子 cookie ~ 也是前端实际工作中一定会碰到的(哎?为什么要说也呢...) 而且由于前一阵 Chrome 的更新改了关于 cookie sam ...

  3. Mysql期初数和期末数_账户中记录四种核算指标,即期初余额、 本期增加发生额、本期减少发生额和期末余额。其关系式包括( )。_学小易找答案...

    [单选题]运算符+* % =中,优先级最低的是( ). (3.0分) [单选题]反映企业所有者投入资金的科目是( ). [单选题]要输出double型的数据,用( ). (3.0分) [单选题]是对形 ...

  4. poj 1145 Tree Summing

    // poj 1145 Tree Summing /* 交了好多遍才过,注意几点: 1.输入可能有负数:2.叶子节点判断要准确,是两个子节点都没有的节点:3.空树答案为no */ #include & ...

  5. oracle自动售票服务器,一种基于Oracle数据库客户端的业务自动处理方法与流程

    技术领域 本发明涉及计算机技术领域,具体地说是一种实用性强.基于Oracle数据库客户端的业务自动处理方法. 背景技术: 在实现预约挂号的移动应用中,由于医院业务系统处理缺失自动取消预约功能,经常需要 ...

  6. 分布式mysql保持数据一致性_一种分布式跨数据库保持事务一致性的方法及系统与流程...

    本发明涉及计算机网络技术领域,尤其涉及一种分布式跨数据库保持事务一致性的方法及系统. 背景技术: 目前,分布式服务架构十分的流行,特别是对于电商领域来说.他的优点就不多说了,但是随着集群机器的增加,集 ...

  7. 【DevCloud · 敏捷智库】两种你必须了解的常见敏捷估算方法

    摘要:本文主要介绍最常用的两种估算方法:计划扑克估算和敏捷估算2.0. 背景 在某开发团队辅导的回顾会议上,团队成员对于优化估计具体方法上达成了一致意见.询问是否有什么具体的估计方法来做估算. 问题分 ...

  8. 区块如何防篡改_一种区块链防篡改技术的优化方法与流程

    本发明涉及区块链技术领域,具体涉及一种区块链防篡改技术的优化方法. 背景技术: 区块链是比特币等数字虚拟货币的底层技术,通过去中心化的数据记录,由全网所有的节点共同维护数据,实现安全地存储数据,具有不 ...

  9. linux 目录防篡改,一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法

    一种基于Linux虚拟文件系统的防篡改方法及系统的制作方法 [技术领域] [0001]本发明涉及文件防护技术领域,特别涉及一种基于Linux虚拟文件系统的防篡改方法及系统. [背景技术] [0002] ...

最新文章

  1. php 168任意代码执行漏洞之php的Complex (curly) syntax
  2. [国家集训队]middle(二分+主席树[中位数思维题])
  3. 计算机设计大赛国奖作品_4. 界面设计
  4. android 拦截外拨电话,Android拦截外拨电话程序示例
  5. 史上速度最快!DNS 公共服务 1.1.1.1 正式发布
  6. batchupdate一次多少条合适_中药材半夏地下茎块膨大剂,中药材半夏一次冲施多少肥料合适?...
  7. oracle+规则执行,Oraclejobinterval规则
  8. centos 更新内核步骤
  9. 穿越机用途和机架尺寸
  10. 安装Numpy的简单方法
  11. Java小项目---电影购票系统
  12. 计算机打字声音,键盘打字声音在哪设置
  13. 使用Unity实现时光倒流
  14. 1.27(Bomb Game)
  15. android高德地图瓦片,高德地图加载瓦片分析
  16. 怎么减少别人屏蔽你的朋友圈(二)
  17. mac忘记MySQL本地数据库密码解决办法
  18. 什么叫横向比较和纵向比较
  19. 前端搜索引擎优化SEO优化之Title 和 Meta 标签
  20. 淘宝天猫店招空白间隔去除

热门文章

  1. 大数据专业适合考研吗? 1
  2. 企业微信自建应用代开发上线流程,只看此文就够了(下)
  3. Nginx 读书摘抄
  4. Unity绳子插件QuickRopes使用方法(让你快速创建你想要的绳索效果)
  5. ​SIGIR 2021 | 多样性推荐:增强领域级别和用户级别的自适应性
  6. 赫墨拉游戏-服务端-编程规范
  7. 领导:以后晚上和周末都要强制加班,不服试试看?
  8. 一个简单的字符驱动程序
  9. 计算机桌面显示已锁定什么意思,电脑已锁定是什么意思,桌面没有了
  10. Arcgis Engine 二次开发之属性查询