栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1145 Tree Summing

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1145 Tree Summing

#include<iostream>#include<cstdio>#include<cstring>using namespace std;bool flag=false;int kk;char GetNext()  //将没用的符号过滤掉{    char c;    while(scanf("%c",&c) && (c==' ' || c=='n' || c==9 || c==10));    return c;}int dfs(int sum,int hight){    int sign=1,k=0,k1,k2;    char c;    c=GetNext();      if(c==')')    {        return hight;    }    if(c=='-')//当为负数时    {        sign=-sign;        c=GetNext();    }    while((c>='0' && c<='9'))//取数字    {        k=k*10+(c-'0')*sign;        scanf("%c",&c);    }    if(c=='n' || c==' ') c=GetNext();    if(c=='(') k1=dfs(sum+k,hight+1); //返回左孩子高度    c=GetNext();    if(c=='(') k2=dfs(sum+k,hight+1);//返回右孩子高度    c=GetNext();    if(k2==hight+1 && k1==hight+1)//判断是否是叶子节点    {        if(sum+k==kk) flag=true;    }    return 0;}int main(){    while(scanf("%d",&kk)!=EOF)    {        flag=false;        GetNext();        dfs(0,0);        //GetNext();        if(flag) printf("yesn");        else printf("non");    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号