• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            gzwzm06

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              1 隨筆 :: 52 文章 :: 17 評論 :: 0 Trackbacks
            #include <stdio.h>
            #include 
            <memory.h>

            const int MAXN = 1001 ;

            int g_Sum , g_NumArr[MAXN] ; //記錄所有節點的權值
            bool OK , g_visible[MAXN] ; //記錄哪些是葉結點

            void ReExp( int &nPos, int sum )
            {
                
            if ( OK ) return ;   //找到則返回
                
                
            int num = g_NumArr[nPos]  + sum ;
                
            if ( !g_visible[nPos + 1&& !g_visible[nPos + 2] )
                
            {
                    
            if ( g_Sum == num )
                        OK 
            = true ;
                    nPos 
            += 2 ;
                    
            return ;
                }

                nPos
            ++ ;
                
            if ( g_visible[nPos] )
                
            {
                    ReExp( nPos, num ) ;
                }

                nPos
            ++ ;
                
            if ( g_visible[nPos] )
                
            {
                    ReExp( nPos, num ) ;
                }

                
            }


            void Init()
            {
                OK 
            = false;

                memset( g_visible, 
            0sizeof(g_visible)) ;
                memset( g_NumArr, 
            0sizeof(g_NumArr)) ;
            }


            int main()
            {
            //    freopen("in.txt", "r", stdin);

                
            char cmd ;
                
            int flag, mark, num, m ;
                
            bool aNum ;
                
            while ( scanf("%d"&g_Sum) != EOF )
                
            {
                    Init() ;
                    flag 
            = 1;
                    
            while ( (cmd = getchar()) != '(' ) ;
                    mark 
            = 1;
                    m 
            = num = 0;
                    aNum 
            = false ;
                            
            //處理輸入數據,注意有負數
                    while ( mark != 0 )
                    
            {
                        cmd 
            = getchar() ;
                        
            switch(cmd)
                        
            {
                        
            case '(':
                            mark
            ++;
                            
            if ( aNum )
                                g_visible[m] 
            = true ;
                            aNum 
            = false ;
                            g_NumArr[m
            ++= num * flag;
                            num 
            = 0;
                            flag 
            = 1 ;
                            
            break;
                        
            case ')':
                            mark
            --;
                            
            break;
                        
            case '-':
                            flag 
            = -1;
                            
            break;
                        
            case ' ':
                        
            case '\0':
                        
            case '\n':
                            
            break;
                        
            default:
                            num 
            = num * 10 + (cmd - '0');
                            aNum 
            = true ;
                        }

                    }

                    
                    
            int pos = 0 ;
                    ReExp( pos, 
            0 ) ;

                    
            if ( OK ){
                        printf(
            "yes\n");
                    }

                    
            else {
                        printf(
            "no\n");
                    }

                    

                }

                
            return 0 ;
            }
            posted on 2008-10-31 00:07 閱讀(308) 評論(0)  編輯 收藏 引用 所屬分類: 與Tree相關的題
            久久综合狠狠综合久久| 大香伊人久久精品一区二区 | 午夜精品久久影院蜜桃| 久久免费视频一区| 久久久久久久精品成人热色戒| 久久精品国产亚洲AV忘忧草18| 蜜臀av性久久久久蜜臀aⅴ| 91久久国产视频| 久久精品一区二区三区AV| 国产韩国精品一区二区三区久久 | 久久线看观看精品香蕉国产| 狠狠久久综合| 国内精品久久人妻互换| 色偷偷88欧美精品久久久 | 99久久无码一区人妻| 国内精品九九久久精品| 精品国产综合区久久久久久| 人妻少妇久久中文字幕| 人妻少妇精品久久| 青青草国产成人久久91网| 亚洲精品国产字幕久久不卡| 青青草原综合久久大伊人导航| 狠狠色婷婷久久一区二区三区| 99久久免费国产精品特黄| 久久91这里精品国产2020| 99久久99久久久精品齐齐| 久久笫一福利免费导航| 久久综合色区| 久久久精品国产亚洲成人满18免费网站 | 国产精品福利一区二区久久| 久久SE精品一区二区| 香蕉99久久国产综合精品宅男自 | 91视频国产91久久久| 久久久久久国产精品无码下载 | 丁香狠狠色婷婷久久综合| 亚洲第一极品精品无码久久| 狠狠色丁香婷婷久久综合 | 成人国内精品久久久久影院| 久久久精品人妻一区二区三区蜜桃 | 久久久久久狠狠丁香| 国产精品美女久久久久|