青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

ACM___________________________

______________白白の屋
posts - 182, comments - 102, trackbacks - 0, articles - 0
<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用鏈接

留言簿(24)

隨筆分類(332)

隨筆檔案(182)

FRIENDS

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋    

 

題目地址 :

     http://acm.hdu.edu.cn/showproblem.php?pid=1247 

題目描述:

Hat’s Words

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1384    Accepted Submission(s): 506


Problem Description
A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.
You are to find all the hat’s words in a dictionary.
 

Input
Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 50,000 words.
Only one case.
 

Output
Your output should contain all the hat’s words, one per line, in alphabetical order.
 

Sample Input
a ahat hat hatword hziee word
 

Sample Output
ahat hatword
 

題目分析 :

  

        字典樹的題目, 這個題的方法比較暴力,  在輸入的時候將每個單詞都加入字典樹,  并用數組將所有的串都存起來來.

在輸入完成后,  對每個單詞進行拆分, 也就是暴力枚舉單詞不同位置的前后部分, 看在字典樹中是否存在, 存在即輸出.

不過貌似數據比較弱, 說是按字典順序輸出, 但其實他的輸入本就是按字典順序輸入的, 所以將排序也面了 , 呵呵.

    另外,其實這題用STL 做更簡單, 當然追求效率除外.

trie 代碼:

 /*

MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      : 1

Program   : 1247

*/


#include <iostream>

#include <algorithm>

#include <string>

using namespace std;

typedef struct dictor DIC;

DIC *root = NULL;

struct dictor {

       dictor (){ exist = false; memset ( child , 0 , sizeof ( child ) ); }

       void insert ( char *ins );

       bool find ( const char *ins );

private:

       DIC *child[26];

       bool exist; 

};

void dictor::insert ( char *ins )

{

            DIC *cur = root,*now;

            int len = strlen ( ins );

            for ( int i = 0; i < len; ++ i )

            {

                  if ( cur->child[ ins[i] - 'a' ] != NULL ) 

                  {

                       cur = cur->child[ ins[i] - 'a' ];

                  }

                  else

                  {

                       now = new DIC;

                       cur->child[ ins[i] - 'a' ] = now;

                       cur = now;

                  }

            } 

            cur->exist = true;

}

bool dictor::find ( const char *ins )

{

            DIC *cur = root;

            int len = strlen ( ins );

            for ( int i = 0; i < len; ++ i )

            {

                 if ( cur->child[ ins[i] - 'a' ] != NULL )

                      cur = cur->child[ ins[i] - 'a' ];  

                 else

                      return false; 

            } 

            return cur->exist;

}

char words[50050][100];

char s1[100],s2[100];

DIC dict;

int main ()

{

    root = &dict;

    int n = 0;

    while ( scanf ( "%s",words[n] ) != EOF )

    {

            dict.insert ( words[n++] );

    }

    for ( int i = 0; i < n; ++ i )

    {

          int len = strlen ( words[i] );

          for ( int j = 1; j < len; ++ j )

          {

                memset ( s1, 0, sizeof ( s1 ) );

                memset ( s2, 0, sizeof ( s2 ) );

                strncpy ( s1, words[i], j );

                strcpy ( s2, words[i]+j );

                if ( dict.find ( s1 ) && dict.find ( s2 ) )

                {

                     printf ( "%s\n", words[i] );

                     break; 

                }

          }  

    }  

    //system ( "pause" );

    return 0;

}


STL  代碼 :

 

 /*

MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      : 2

Program   : 1247

*/


#include <iostream>

#include <string>

#include <map>

using namespace std;

map < string , int > mp;

string str[50005];

int main ()

{

    int n = 0;

    while ( cin >> str[n] ) mp[ str[n++] ] = 1;

    for ( int i = 0; i < n; ++ i )

    {

          unsigned len = str[i].size ();

          for ( unsigned j = 1; j < len; ++ j )

          {

               string s1 ( str[i], 0, j );

               string s2 ( str[i], j );

               if ( mp[s1] == 1 && mp[s2] == 1 )

               {

                    cout << str[i] << endl; 

                    break;

               }

          } 

    }

    return 0;

}


 

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲少妇一区| 久久久不卡网国产精品一区| 欧美大片免费观看| 久久一区亚洲| 在线看国产日韩| 欧美大胆成人| 欧美片第一页| 亚洲一区三区电影在线观看| 在线视频精品一区| 国产精品久久久一本精品| 午夜亚洲性色福利视频| 亚洲自拍三区| 韩国av一区二区三区四区| 六十路精品视频| 老鸭窝91久久精品色噜噜导演| 亚洲国产高清一区二区三区| 亚洲欧洲日本mm| 美玉足脚交一区二区三区图片| 亚洲欧洲视频| 亚洲一区二区三区中文字幕在线| 国产一区二区三区四区老人| 欧美成人精品三级在线观看| 欧美成人69av| 欧美在线播放一区| 免费高清在线视频一区·| 99精品视频一区二区三区| 亚洲欧美另类国产| 91久久国产综合久久91精品网站| 一区二区三区免费网站| 怡红院av一区二区三区| 亚洲乱码精品一二三四区日韩在线 | 香蕉久久夜色精品国产| 久久国产福利| 在线视频精品一区| 久久久久久国产精品一区| 宅男66日本亚洲欧美视频| 久久久久久91香蕉国产| 亚洲综合成人在线| 免费成人在线观看视频| 欧美一区中文字幕| 欧美日韩国产成人在线91| 麻豆av一区二区三区久久| 欧美午夜片在线观看| 欧美成年人视频| 国产伦精品一区| 一本久道久久综合中文字幕 | 麻豆成人在线| 久久se精品一区二区| 欧美日韩在线观看一区二区| 麻豆视频一区二区| 国产日韩欧美91| 亚洲天天影视| 亚洲性视频网站| 欧美大片在线看| 欧美国产亚洲另类动漫| 国产综合在线看| 亚洲欧美日韩区| 午夜视频一区| 国产精品午夜在线观看| 日韩亚洲国产欧美| 日韩香蕉视频| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美视频你懂的| 亚洲美女视频网| 日韩一级黄色av| 欧美精品一区在线播放| 亚洲国产精品成人综合| 亚洲国产天堂网精品网站| 久久免费高清视频| 欧美国产日韩视频| 亚洲欧洲日本在线| 欧美精品xxxxbbbb| 日韩视频专区| 亚洲在线第一页| 国产精品视频大全| 午夜久久久久| 久久嫩草精品久久久精品一| 国产一区二区无遮挡| 久久精品一区中文字幕| 鲁鲁狠狠狠7777一区二区| 在线观看日韩av电影| 蜜臀va亚洲va欧美va天堂| 亚洲国产精品ⅴa在线观看 | 国产精品一区久久久久| 亚洲欧美色一区| 久久夜精品va视频免费观看| 在线观看国产精品网站| 欧美激情亚洲另类| 一区二区免费看| 久久国产精品亚洲77777| 永久久久久久| 欧美激情一区二区在线| 这里是久久伊人| 久热成人在线视频| 日韩一级成人av| 国产女人18毛片水18精品| 久久男女视频| 亚洲精品五月天| 久久精品国产久精国产思思| 亚洲国产婷婷香蕉久久久久久| 欧美日韩国产综合在线| 欧美一区二区三区在线看| 欧美激情国产日韩精品一区18| 亚洲视频一起| 国产一区二区三区四区hd| 欧美精品久久一区| 亚洲欧美一区二区激情| 亚洲二区在线| 欧美在线免费播放| 99热免费精品| 国语自产在线不卡| 国产精品高清在线观看| 免费观看成人www动漫视频| 亚洲一区在线视频| 亚洲国内自拍| 久久精品视频在线观看| 99综合视频| 精品999久久久| 国产精品乱码| 欧美日韩国产大片| 老**午夜毛片一区二区三区| 亚洲天堂av在线免费观看| 欧美成人网在线| 久久九九久精品国产免费直播| 亚洲美女电影在线| 在线成人激情| 国产亚洲二区| 国产精品高潮呻吟视频| 欧美激情精品久久久久久免费印度| 翔田千里一区二区| 亚洲香蕉网站| 亚洲毛片av| 亚洲三级性片| 亚洲高清自拍| 欧美华人在线视频| 蜜臀久久99精品久久久久久9 | 亚洲国产欧美不卡在线观看| 国产日本欧美一区二区| 国产精品护士白丝一区av| 欧美精品在欧美一区二区少妇| 久久色在线观看| 久久久久一区二区三区| 久久精品视频免费| 久久gogo国模啪啪人体图| 午夜精品视频网站| 欧美一级理论片| 午夜视频在线观看一区二区| 亚洲视频电影图片偷拍一区| 日韩视频免费在线观看| 日韩视频第一页| 一本大道久久a久久精品综合| 亚洲高清一区二| 亚洲人午夜精品| 亚洲乱码国产乱码精品精天堂| 亚洲日本免费电影| 99精品视频免费在线观看| 99精品欧美一区二区蜜桃免费| 日韩视频第一页| 一区二区三区国产| 亚洲欧美日韩国产另类专区| 午夜日韩视频| 久久久久www| 欧美国产先锋| 国产精品久久久久国产a级| 国产精品日韩一区二区| 国产日韩免费| 亚洲国产精品一区在线观看不卡| 亚洲欧洲另类| 亚洲一区二区三区在线| 欧美一区二区在线免费播放| 久久久午夜电影| 亚洲第一狼人社区| 一区二区三区久久| 午夜日韩电影| 欧美www视频在线观看| 欧美日韩中文在线| 国产综合色在线| 亚洲免费精彩视频| 性色av一区二区三区在线观看| 久久夜色精品国产欧美乱| 亚洲高清视频在线观看| 亚洲午夜激情网站| 久久婷婷国产综合尤物精品| 欧美日本在线看| 国产在线播放一区二区三区| 亚洲黄网站黄| 亚洲欧美一区二区视频| 欧美sm视频| 亚洲欧美另类久久久精品2019| 久久久水蜜桃| 国产精品日韩欧美| 亚洲免费精品| 老巨人导航500精品| 一区二区三区久久网| 久久午夜羞羞影院免费观看| 国产精品久久久久久户外露出 | 国产午夜精品一区二区三区视频| 亚洲国产天堂网精品网站| 欧美一区二区成人6969| 日韩视频不卡|