• <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>

            hdu 1251

             

            統(tǒng)計難題

            Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)
            Total Submission(s): 9806    Accepted Submission(s): 3949


            Problem Description
            Ignatius最近遇到一個難題,老師交給他很多單詞(只有小寫字母組成,不會有重復(fù)的單詞出現(xiàn)),現(xiàn)在老師要他統(tǒng)計出以某個字符串為前綴的單詞數(shù)量(單詞本身也是自己的前綴).
             


             

            Input
            輸入數(shù)據(jù)的第一部分是一張單詞表,每行一個單詞,單詞的長度不超過10,它們代表的是老師交給Ignatius統(tǒng)計的單詞,一個空行代表單詞表的結(jié)束.第二部分是一連串的提問,每行一個提問,每個提問都是一個字符串.

            注意:本題只有一組測試數(shù)據(jù),處理到文件結(jié)束.
             


             

            Output
            對于每個提問,給出以該字符串為前綴的單詞的數(shù)量.
             


             

            Sample Input
            banana band bee absolute acm ba b band abc
            Sample Output
            2 3 1 0


            每天學(xué)點新東西
            今天學(xué)了點trie,以前只聞其名,未曾寫過,今天自習(xí)看了看,貌似不難
            照著ac自動機(jī)的模版寫了第一個trie的程序(囧),1Y




            #include <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            #include 
            <cassert>
            #include 
            <iostream>
            #include 
            <sstream>
            #include 
            <fstream>
            #include 
            <map>
            #include 
            <set>
            #include 
            <vector>
            #include 
            <queue>
            #include 
            <algorithm>
            #include 
            <iomanip>
            using namespace std;

            struct node
            {
                
            int next[26];
                
            int x;
                
            int count;
                
            void init()
                
            {
                    memset(next,
            -1,sizeof(next));
                    count
            =0;
                }

            }
             s[5000005];
            int ind,sind;
            void cas_init()
            {
                s[
            0].init();
                sind
            =1;
            }

            void ins(char str[])
            {
                
            int len=strlen(str);
                
            int i,j,ind;
                
            for(i=ind=0;i<len;i++)
                
            {
                    j
            =str[i]-'a';
                    
            if(s[ind].next[j]==-1)
                    
            {
                        s[sind].init();
                        s[ind].next[j]
            =sind++;
                    }

                    s[ind].count
            ++;
                    ind
            =s[ind].next[j];
                }

                s[ind].count
            ++;
            }

            int search(char str[])
            {
                
            int ind,i,j,len=strlen(str);
                ind
            =0;
                
            for(i=0;i<len;i++)
                
            {
                    j
            =str[i]-'a';
                    
            if(s[ind].next[j]==-1)
                        
            return 0;
                    
            else ind=s[ind].next[j];
                }

                
            return s[ind].count;
            }

            int main()
            {
                
            char str[15];
                
            int num;
                cas_init();
                
            while(gets(str)&&str[0]!='\0') ins(str);
                
            while(gets(str))
                
            {
                    num
            =0;
                    num
            =search(str);
                    printf(
            "%d\n",num);
                }

                
            return 0;
            }






            就是這個hdu1251


            posted on 2012-07-15 23:22 jh818012 閱讀(170) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當(dāng)于是 取余3的意思 因為 3 的 二進(jìn)制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內(nèi)容較長,點擊標(biāo)題查看
            • --王私江
            国产美女亚洲精品久久久综合| 亚洲精品国产第一综合99久久| 伊人久久大香线蕉av一区| 久久精品一本到99热免费| 97久久综合精品久久久综合| 久久九九全国免费| 久久久久亚洲精品日久生情| 伊人久久大香线蕉av一区| 国产精品一区二区久久精品无码| 精品国产综合区久久久久久| 一本色道久久88综合日韩精品 | 热久久最新网站获取| 狠狠色丁香久久婷婷综合五月| 久久精品国产清自在天天线| 久久精品成人欧美大片| 日韩久久无码免费毛片软件| 一本一本久久A久久综合精品| 91久久精品91久久性色| 精品国产91久久久久久久| 国产精品久久午夜夜伦鲁鲁| 亚洲AV日韩精品久久久久久| 伊人久久精品无码二区麻豆| 亚洲精品乱码久久久久久蜜桃不卡| 久久久久久久久久久久久久| 久久无码AV中文出轨人妻 | 色老头网站久久网| 国产欧美久久久精品影院| 亚洲AV日韩精品久久久久久| 亚洲欧美日韩中文久久| aaa级精品久久久国产片| 亚洲欧洲久久av| 久久综合久久综合久久| 欧美性猛交xxxx免费看久久久| 久久精品国产99国产精品导航| 久久99精品国产麻豆宅宅| 亚洲国产精品综合久久网络| 久久久久人妻一区二区三区vr| 久久香蕉一级毛片| 成人综合伊人五月婷久久| 国产69精品久久久久观看软件| 久久WWW免费人成—看片|