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

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>
            欧美激情一区二区三区在线视频| 免费成人性网站| 一本久道久久综合狠狠爱| 欧美激情区在线播放| 亚洲深夜福利网站| 亚洲欧美大片| 一区二区三区在线视频播放| 免费欧美日韩国产三级电影| 免费观看日韩| 中日韩男男gay无套| 亚洲男同1069视频| 黄网站免费久久| 亚洲精品国产视频| 国产精品日产欧美久久久久| 久久久999| 欧美国产综合视频| 欧美在线三区| 欧美国产精品日韩| 欧美一区二区三区视频| 久久午夜精品一区二区| 99精品国产99久久久久久福利| 亚洲天天影视| 亚洲国产欧美日韩| 亚洲欧美日韩精品久久久久| 亚洲国产一区二区视频| 亚洲一级网站| 亚洲激情偷拍| 欧美一区久久| 亚洲一区久久| 欧美v日韩v国产v| 久久精品国产免费看久久精品| 欧美激情第五页| 久久女同精品一区二区| 欧美日本韩国在线| 米奇777在线欧美播放| 国产精品日韩欧美综合| 亚洲黄页一区| 在线国产精品一区| 亚洲永久字幕| 亚洲淫片在线视频| 欧美精品久久久久久久免费观看| 久久久亚洲高清| 国产精品护士白丝一区av| 欧美国产日韩精品免费观看| 国产亚洲精品久久久久婷婷瑜伽 | 国产精品自拍小视频| 欧美大片一区| 狠狠色狠色综合曰曰| 亚洲图片在线| 在线亚洲观看| 欧美日韩亚洲国产一区| 亚洲第一在线综合在线| 亚洲成人自拍视频| 久久国产99| 久久久久久香蕉网| 国产一区成人| 午夜精品久久久久久久99樱桃| 亚洲小视频在线观看| 欧美日本国产精品| 亚洲精品一区二区在线| 亚洲九九爱视频| 欧美高清在线播放| 亚洲青色在线| 在线视频精品一| 国产精品国产馆在线真实露脸| 亚洲免费av网站| 亚洲一区二区三区四区在线观看| 欧美日韩岛国| 一本大道久久a久久精二百| 一本色道久久综合亚洲精品婷婷| 欧美另类99xxxxx| 亚洲精品综合在线| 亚洲一区二区三区在线| 国产精品亚洲一区| 欧美一级片在线播放| 久久亚洲国产成人| 91久久精品久久国产性色也91| 欧美黄污视频| 亚洲一级高清| 久久最新视频| 亚洲精品一区二| 欧美亚一区二区| 午夜精品一区二区三区四区| 久久久亚洲国产天美传媒修理工| 在线成人www免费观看视频| 米奇777超碰欧美日韩亚洲| 亚洲人成在线影院| 午夜伦欧美伦电影理论片| 好看的日韩视频| 欧美激情小视频| 亚洲伊人观看| 欧美国产亚洲视频| 亚洲免费视频网站| 有坂深雪在线一区| 欧美色视频一区| 欧美亚洲午夜视频在线观看| 欧美成人午夜激情在线| 亚洲一区二区三区777| 国产亚洲观看| 欧美日韩在线一区二区| 久久久九九九九| 亚洲天堂网在线观看| 欧美v日韩v国产v| 亚洲欧美精品一区| 91久久久久久久久| 国产女人精品视频| 欧美精品性视频| 久久久久久一区二区| av成人黄色| 亚洲国产免费| 久久一区二区三区四区| 亚洲免费视频观看| 日韩视频―中文字幕| 国产一区二区三区直播精品电影 | 狠狠爱成人网| 国产精品久久久久77777| 久久综合伊人77777麻豆| 亚洲制服av| 一本大道久久精品懂色aⅴ | 羞羞漫画18久久大片| 亚洲精品老司机| 亚洲成人直播| 国产主播一区二区三区四区| 国产精品成人免费精品自在线观看| 久久久久亚洲综合| 午夜精品久久久久久久99热浪潮| 日韩亚洲不卡在线| 亚洲国产一区二区三区高清| 久久午夜精品| 久久人人97超碰精品888| 先锋a资源在线看亚洲| 亚洲视频在线播放| 一区二区三区欧美亚洲| 亚洲乱码国产乱码精品精98午夜| 在线观看日韩| 亚洲国产精品成人va在线观看| 国产一区 二区 三区一级| 国产精品一区二区在线观看网站| 欧美色中文字幕| 国产精品分类| 国产精品久久看| 国产精品一区在线观看| 国产精品亚洲аv天堂网| 国产精品欧美经典| 国产精品系列在线播放| 国产精品乱码妇女bbbb| 国产精品久久午夜夜伦鲁鲁| 国产精品久久国产精品99gif| 欧美亚洲第一区| 国产精品每日更新| 国产模特精品视频久久久久| 国产欧美日韩伦理| 国产午夜精品一区二区三区视频 | 欧美精品v日韩精品v国产精品| 免费成人黄色片| 欧美日韩成人综合| 国产精品美腿一区在线看 | 欧美色欧美亚洲另类七区| 欧美午夜视频网站| 国产日韩欧美成人| 激情综合视频| 日韩西西人体444www| 亚洲午夜电影网| 久久精品卡一| 亚洲国产精品久久久久秋霞蜜臀 | 欧美日韩国产在线播放| 国产精品视频区| 亚洲大胆人体视频| 亚洲午夜91| 久久一区国产| 亚洲毛片在线看| 香蕉成人伊视频在线观看| 久久亚洲一区二区| 欧美日韩一区免费| 韩国自拍一区| 一区二区三区视频在线播放| 午夜精品久久久久久99热| 欧美不卡一区| 亚洲婷婷综合色高清在线| 久久久久免费视频| 欧美日韩精品一本二本三本| 国产午夜一区二区三区| 99成人在线| 久久深夜福利免费观看| 亚洲三级网站| 久久精品99国产精品酒店日本| 欧美日韩免费观看一区| 精品999成人| 亚洲在线观看视频| 亚洲国产电影| 久久久www成人免费精品| 欧美性猛交xxxx免费看久久久| 伊人精品成人久久综合软件| 午夜激情综合网| 亚洲区中文字幕| 久热精品在线视频| 国产日韩欧美在线播放| 亚洲中无吗在线| 91久久国产综合久久蜜月精品 | 欧美一级网站|