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

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=1671 

題目描述:

Phone List

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1733    Accepted Submission(s): 572


Problem Description
Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let’s say the phone catalogue listed these numbers:
1. Emergency 911
2. Alice 97 625 999
3. Bob 91 12 54 26
In this case, it’s not possible to call Bob, because the central would direct your call to the emergency line as soon as you had dialled the first three digits of Bob’s phone number. So this list would not be consistent.
 

Input
The first line of input gives a single integer, 1 <= t <= 40, the number of test cases. Each test case starts with n, the number of phone numbers, on a separate line, 1 <= n <= 10000. Then follows n lines with one unique phone number on each line. A phone number is a sequence of at most ten digits.
 

Output
For each test case, output “YES” if the list is consistent, or “NO” otherwise.
 

Sample Input
2 3 911 97625999 91125426 5 113 12340 123440 12345 98346
 

Sample Output
NO YES
 

 

  

題目分析:

   這個題有很多種方法, 大牛用靜態字典樹....哥不會,只會動態的, 結果  MLE 了20幾次...  , 很糾結的是,我的結構體用的是局部變量, 到現在還是

沒明白為什么他不會自動釋放...最后加了動態數組的釋放才A掉...............  然后嘗試了一下 STL ...比動態字典還快......

 

動態字典代碼:

/*

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

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      : 1

Program   : 1671

*/


#include <iostream>

using namespace std;

typedef struct dict DIC;

int f = 0;

DIC *root = NULL;

struct dict {

       dict (){ n = 0; flag = false;memset ( child , 0 , sizeof ( child ) ); }

       ~dict () { del ( root ); }

       static void insert ( char *ins )

       {

            DIC *cur = root,*now;

            int len = strlen ( ins );

            if ( len == 0 )  return ;

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

            {

                  if ( cur->flag || ( i == len - 1 && cur->child[ ins[i] - '0' ] != NULL ) )

                       f = 1;

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

                  {

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

                       cur->n ++; 

                  }

                  else

                  {

                       now = new DIC;

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

                       now->n ++;

                       cur = now;

                  }

            } 

            cur->flag = true;

       }

       void del ( DIC * node )

       {

            if ( node == NULL )

                return;

            for ( int i = 0; i != 10; ++ i )

            {

                 if ( node->child[i] != NULL )

                    del ( node->child[i] ); 

            } 

            free ( node );

       }

private:

       DIC *child[10];

       int n; 

       bool flag;

};

char num[11];

int main ()

{

    int T,N;

    scanf ( "%d",&T );

    while ( T -- )

    {

          DIC dict;

          root = &dict;

          f = 0;

          scanf ( "%d",&N );

          for ( int i = 0; i != N; ++ i )

          {

                 scanf ( "%s",num );  

                 if ( f == 0 ) dict.insert ( num );            

          }

          puts ( f ? "NO" : "YES" ); 

    } 

    return 0;

}

 

STL 代碼 :

/*

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

          http://www.cnblog.com/MiYu

Author By : MiYu

Test      :

Program   :

*/


#include <iostream>

#include <vector>

#include <string>

#include <algorithm>

using namespace std;

char num[11];

bool cmp ( const string &a, const string &b )

{

     return strcmp ( a.c_str(), b.c_str() ) < 0; 

}

int main ()

{

    int T,N;

    scanf ( "%d",&T );

    while ( T -- )

    {

          int f = 0;

          scanf ( "%d",&N );

          vector < string > vec;

          for ( int i = 0; i != N; ++ i )

          {

                 scanf ( "%s",num );  

                 vec.push_back ( string ( num ) );           

          }

          sort ( vec.begin(), vec.end(),cmp1 );

          for ( int i = 1; i < N; ++ i )

          {

                if ( vec[i].find ( vec[i-1] ) == 0 )

                {

                     f = 1; 

                     break;

                }

          }

          puts ( f ? "NO" : "YES" ); 

    } 

    return 0;

}

 

AMB 大牛的 靜態代碼 :

 

  1. #include<cstdio>
  2. #include<cstring>
  3. using namespace std;
  4. const int MAXNODE=500000;
  5. const int BRANCH=10;

  6. int Tree[MAXNODE][BRANCH],SIZE;
  7. bool Key[MAXNODE];
  8. bool Insert(char *str) {
  9.     int Node=0;bool tof=false;
  10.     for (int i=0;str[i];i++){
  11.         int c=str[i]-'0';
  12.         if(Tree[Node][c]==-1){
  13.             Tree[Node][c]=++SIZE;tof=true;
  14.             memset(Tree[SIZE],-1,sizeof(Tree[SIZE]));
  15.         }
  16.         if(Key[Node]) return false;
  17.         Node=Tree[Node][c];
  18.     }
  19.     Key[Node]=true;
  20.     return tof;
  21. }

  22. void Trie(){
  23.     memset(Tree[0],-1,sizeof(Tree[0]));
  24.     SIZE=0;
  25. }

  26. char str[15];
  27. int main()
  28. {
  29.     int t,n;bool tof;
  30.     scanf("%d",&t);
  31.     while(t--){
  32.         memset(Key,false,sizeof(Key));
  33.         Trie();tof=true;
  34.         scanf("%d",&n);
  35.         for(int i=0;i<n;i++){
  36.             scanf("%s",str);
  37.             if(tof){
  38.                 tof=Insert(str);
  39.             }
  40.         }
  41.         if(tof) puts("YES");
  42.         else puts("NO");
  43.     }
  44. }

 

 

 

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产欧美精品日韩精品| 亚洲欧美色一区| 亚洲视频精选在线| 一区二区三区你懂的| 99av国产精品欲麻豆| 最新成人av网站| 亚洲美女少妇无套啪啪呻吟| 亚洲最新合集| 亚洲欧美一区二区激情| 欧美亚洲一区三区| 欧美成人69| 99精品国产在热久久婷婷| 亚洲影视在线播放| 久久久999| 欧美日韩精品免费在线观看视频| 欧美性理论片在线观看片免费| 国产欧美激情| 亚洲毛片网站| 久久精品亚洲乱码伦伦中文 | 久久综合电影一区| 亚洲高清在线精品| 国产精品99久久久久久白浆小说| 亚洲欧美另类久久久精品2019| 久久精视频免费在线久久完整在线看| 久久综合狠狠综合久久激情| 欧美区亚洲区| 国产丝袜美腿一区二区三区| 亚洲精品一区二区三区婷婷月| 午夜精品福利视频| 欧美成人在线网站| 亚洲综合精品自拍| 农村妇女精品| 一区二区视频免费完整版观看| 久久色在线观看| 最新日韩av| 欧美主播一区二区三区美女 久久精品人| 美女精品自拍一二三四| 国产精品久久久久久久久久尿| 在线观看视频亚洲| 小处雏高清一区二区三区 | 久久人人爽人人爽| 在线午夜精品自拍| 欧美成人免费全部观看天天性色| 国产区亚洲区欧美区| 洋洋av久久久久久久一区| 久久综合综合久久综合| 亚洲欧美精品在线观看| 欧美日韩国产成人精品| 亚洲丰满在线| 久久婷婷国产综合精品青草| 一区二区三区欧美激情| 欧美激情一区二区三区不卡| 狠狠色综合网| 久久大逼视频| 亚洲一级黄色av| 欧美日韩一区二区在线播放| 亚洲人屁股眼子交8| 欧美国产日韩二区| 久久久综合网站| 影音先锋一区| 玖玖在线精品| 久久美女性网| 一区二区视频免费在线观看| 免费成人性网站| 久久午夜视频| 亚洲精品一区二区三区婷婷月| 亚洲福利视频专区| 欧美成人综合在线| 99国产精品视频免费观看一公开| 亚洲国产va精品久久久不卡综合| 久久免费视频网| 亚洲国产精品视频一区| 亚洲欧洲久久| 国产精品久久午夜夜伦鲁鲁| 亚洲欧美日韩系列| 篠田优中文在线播放第一区| 国产在线观看精品一区二区三区| 老牛嫩草一区二区三区日本| 老司机成人网| 一区二区三区精品在线| 亚洲图片欧美午夜| 韩国免费一区| 91久久极品少妇xxxxⅹ软件| 欧美性一区二区| 欧美中文字幕视频| 免费亚洲电影| 亚洲欧美欧美一区二区三区| 午夜精品影院在线观看| 91久久极品少妇xxxxⅹ软件| 一本一本a久久| 黄色成人免费观看| 麻豆国产va免费精品高清在线| 亚洲精品一区久久久久久| 亚洲黄色一区二区三区| 国产精品黄色| 欧美日韩一区在线| 欧美日韩一区二区三区| 国产精品亚洲成人| 免费在线亚洲| 欧美性视频网站| 蜜臀a∨国产成人精品| 欧美日韩在线免费视频| 久久另类ts人妖一区二区| 欧美激情视频在线播放| 久久国产精品99久久久久久老狼| 老司机一区二区三区| 亚洲免费一级电影| 欧美aⅴ一区二区三区视频| 午夜精品久久久久久久| 欧美高清不卡在线| 久久免费高清视频| 欧美天天综合网| 免费欧美在线| 国产日韩亚洲欧美精品| 日韩视频永久免费观看| 一区二区三区在线高清| 亚洲一区二区av电影| 亚洲美女电影在线| 久久久久久久性| 久久久天天操| 国产亚洲精品久久久| 中文高清一区| 在线一区二区三区四区五区| 久久综合一区二区三区| 久久久久久久综合狠狠综合| 国产精品二区三区四区| 亚洲韩国精品一区| 亚洲高清久久网| 久久综合九九| 免费成人高清视频| 韩国成人精品a∨在线观看| 亚洲欧美色一区| 亚洲免费一区二区| 欧美三区在线观看| 一区二区日韩精品| 一区二区三区久久精品| 欧美日韩国产综合视频在线观看中文| 欧美二区乱c少妇| 亚洲精品免费观看| 欧美激情在线| 亚洲精品视频一区| 亚洲一区二区欧美| 国产精品久久久99| 亚洲一区二区精品视频| 久久国产精品免费一区| 国内在线观看一区二区三区| 久久99伊人| 你懂的一区二区| 亚洲精品乱码视频| 欧美日韩国产精品专区| 日韩系列欧美系列| 午夜精品区一区二区三| 国产亚洲欧美一区二区| 久久久精品性| 亚洲人成网站在线观看播放| 亚洲一区二区三区精品视频| 国产精品一区二区在线观看不卡| 午夜精品短视频| 欧美精品1区2区3区| 亚洲巨乳在线| 欧美精品一区二区视频| 宅男噜噜噜66一区二区| 久久精品在线观看| 亚洲国产成人在线播放| 欧美区国产区| 欧美一区二区三区男人的天堂| 老巨人导航500精品| 一区二区三区不卡视频在线观看| 国产精品成人在线观看| 久久狠狠亚洲综合| 亚洲精品久久久久久久久久久久久| 亚洲一区免费网站| 激情六月婷婷综合| 欧美日韩精品免费观看视频完整 | 一区二区欧美在线| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲精品色婷婷福利天堂| 国产美女一区二区| 免费久久99精品国产自在现线| 亚洲美女性视频| 久久人人精品| 新片速递亚洲合集欧美合集| 亚洲三级免费| 在线观看不卡av| 国产麻豆一精品一av一免费| 欧美福利视频在线| 性视频1819p久久| 一本色道久久综合亚洲精品不卡 | 亚洲高清视频在线观看| 欧美日韩精品一区二区| 久久久夜夜夜| 亚洲欧美日韩一区二区| 最近中文字幕日韩精品| 久久久欧美精品| 欧美在线精品免播放器视频| 91久久精品网| 亚洲电影免费| 在线激情影院一区| 国产麻豆9l精品三级站| 欧美99久久|