• <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 閱讀(315) 評論(0)  編輯 收藏 引用 所屬分類: 與Tree相關的題
            亚洲午夜久久久精品影院| 久久亚洲av无码精品浪潮| 久久久精品国产Sm最大网站| 久久亚洲2019中文字幕| 久久综合偷偷噜噜噜色| 久久久久久久免费视频| 久久久久久久久无码精品亚洲日韩 | 四虎影视久久久免费观看| 无遮挡粉嫩小泬久久久久久久| 久久精品国产福利国产秒| 国产综合精品久久亚洲| 国产精品久久久久国产A级| 性做久久久久久久久久久| 久久亚洲私人国产精品| 中文字幕精品久久| Xx性欧美肥妇精品久久久久久 | 久久久久99精品成人片试看| 国产精品美女久久久网AV| 蜜臀久久99精品久久久久久小说| 国产精品久久久久久久久久免费| 狠狠综合久久综合88亚洲| 亚洲国产一成久久精品国产成人综合 | 国产综合久久久久| 国产香蕉久久精品综合网| 国内精品久久久久影院网站 | 2021少妇久久久久久久久久| 亚洲欧美日韩中文久久| 久久久久久久综合综合狠狠| 久久午夜福利无码1000合集| 国产精品久久精品| 狼狼综合久久久久综合网| 久久人妻AV中文字幕| 久久精品亚洲男人的天堂| 久久久国产精品福利免费| 亚洲国产精品热久久| 国产91久久精品一区二区| 亚洲精品无码成人片久久| 亚洲av成人无码久久精品| 久久国产精品无码一区二区三区 | 久久97精品久久久久久久不卡| 国产成人久久AV免费|