• <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 閱讀(309) 評論(0)  編輯 收藏 引用 所屬分類: 與Tree相關的題
            77777亚洲午夜久久多人| 精品国产乱码久久久久久浪潮 | 狠狠色丁香婷婷综合久久来| 精品久久人妻av中文字幕| 99久久这里只有精品| 久久九九久精品国产| 久久精品国产清自在天天线 | 久久99精品久久久大学生| 久久精品人人做人人妻人人玩| 国产高潮国产高潮久久久91| 久久无码高潮喷水| 伊人色综合久久| 亚洲国产精品无码久久久秋霞2 | 日本免费一区二区久久人人澡| 一本色道久久88综合日韩精品| 99久久精品影院老鸭窝| 综合久久精品色| 国产91久久综合| 免费观看成人久久网免费观看| 久久精品无码一区二区WWW| 伊人久久大香线蕉精品| 亚洲国产精品无码成人片久久| 国产精品伦理久久久久久| 久久w5ww成w人免费| 国产成人无码精品久久久性色| 久久久久亚洲AV成人网| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲国产精品久久久久久| 无码专区久久综合久中文字幕 | 久久精品国产免费一区| 无码人妻久久久一区二区三区| 一本大道久久香蕉成人网| 久久久久久亚洲精品无码| 久久黄视频| 久久精品18| 久久综合狠狠综合久久97色| 精品欧美一区二区三区久久久| 99久久无码一区人妻| 国产精品伊人久久伊人电影 | 精品少妇人妻av无码久久| 久久精品天天中文字幕人妻|