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

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>
            欧美mv日韩mv国产网站| 欧美 日韩 国产 一区| 国产午夜亚洲精品羞羞网站| 国产精品wwwwww| 国产老女人精品毛片久久| 国产精品区一区| 国产一区二区激情| 亚洲福利在线看| 午夜精品福利电影| 宅男噜噜噜66一区二区| 亚洲免费视频观看| 久久久噜噜噜久久中文字免| 欧美黑人在线观看| 99综合在线| 欧美一区深夜视频| 男同欧美伦乱| 国产精品久久77777| 狠狠色综合一区二区| 久久久999国产| 欧美高清自拍一区| 国产伦精品一区二区三区在线观看 | 久久美女性网| 亚洲高清网站| av不卡在线看| 久久久久久免费| 国产精品扒开腿爽爽爽视频| 国内精品美女av在线播放| 99天天综合性| 另类激情亚洲| 亚洲免费影院| 欧美视频日韩视频在线观看| 在线视频观看日韩| 欧美一区二区免费视频| 亚洲国产片色| 久久精品在线播放| 国产精品伦一区| 99在线|亚洲一区二区| 美女日韩欧美| 欧美一区网站| 国产精品视频| 亚洲制服av| 一本大道久久a久久精二百| 久久久亚洲精品一区二区三区| 欧美三级午夜理伦三级中文幕| 亚洲国产一区二区三区a毛片 | 国产精品午夜久久| 在线一区二区三区做爰视频网站| 美女日韩在线中文字幕| 午夜精品久久久久久| 欧美日韩一区二区三区| 亚洲免费成人av| 亚洲国产精品高清久久久| 久久精品国产视频| 国产在线拍偷自揄拍精品| 性色av一区二区三区在线观看 | 欧美freesex8一10精品| 一区二区在线视频观看| 久久久久久久成人| 午夜精品福利一区二区三区av | 亚洲激情网站| 欧美激情免费在线| 欧美国产日产韩国视频| 亚洲伦理在线| 亚洲精品乱码久久久久| 欧美日韩国产黄| 亚洲特色特黄| 亚洲一级免费视频| 国产欧美日韩亚洲一区二区三区 | 欧美高清视频| 99视频超级精品| 亚洲日本理论电影| 欧美视频不卡| 欧美一区二区在线免费播放| 欧美亚洲在线视频| 伊人春色精品| 亚洲欧洲精品一区二区三区| 欧美日韩福利视频| 欧美一级大片在线免费观看| 久久国产精品第一页| 亚洲国产精品电影| 亚洲美女视频网| 国产精品婷婷| 免费亚洲电影在线| 欧美日韩国产专区| 久久久久九九九九| 欧美国产亚洲精品久久久8v| 亚洲资源av| 久久婷婷亚洲| 亚洲天堂av综合网| 久久精品国产亚洲高清剧情介绍| 亚洲人成欧美中文字幕| 亚洲在线观看视频网站| 亚洲国产电影| 亚洲午夜三级在线| 亚洲国产高清一区二区三区| 正在播放日韩| 亚洲二区在线| 亚洲综合日韩在线| 日韩视频免费在线| 欧美永久精品| 一本色道久久综合一区| 久久国产精品99久久久久久老狼| 99热在线精品观看| 欧美在线|欧美| 亚洲天堂网在线观看| 久久午夜精品| 久久av红桃一区二区小说| 欧美久久久久免费| 久久综合一区二区| 国产精品一区二区久久国产| 亚洲高清资源| 红桃视频欧美| 欧美亚洲在线| 午夜精品区一区二区三| 欧美日韩成人综合在线一区二区 | 亚洲天天影视| 日韩手机在线导航| 久久免费黄色| 久久久久国产精品厨房| 国产精品免费久久久久久| 亚洲精品欧美日韩专区| 亚洲电影观看| 久久久久久网站| 久久久久久婷| 国产一区在线视频| 小黄鸭精品密入口导航| 午夜在线电影亚洲一区| 欧美性猛片xxxx免费看久爱| 午夜精品在线| 欧美日产国产成人免费图片| 欧美成人小视频| 在线成人激情视频| 久久久久久亚洲精品不卡4k岛国| 久久激情视频久久| 国产亚洲毛片在线| 欧美在线视频a| 久久精品国产精品| 国模大胆一区二区三区| 欧美一区二区三区在线观看| 久久av资源网| 国产一区二区在线观看免费播放| 亚洲一区二区三区四区五区午夜 | 久久综合久久综合这里只有精品 | 亚洲一区二区精品在线| 欧美三级小说| 亚洲图片欧美日产| 久久经典综合| 一区视频在线播放| 美女图片一区二区| 亚洲精品欧美一区二区三区| 亚洲午夜伦理| 国产区日韩欧美| 久久看片网站| 91久久久久久| 亚洲一区二区免费视频| 国产美女精品| 久久综合网色—综合色88| 亚洲国产精品电影| 亚洲欧美日韩天堂| 激情久久五月| 欧美激情一区| 亚洲尤物在线视频观看| 久久综合免费视频影院| 亚洲欧洲一区二区在线播放| 欧美色欧美亚洲高清在线视频| 亚洲综合色噜噜狠狠| 久久亚洲图片| 在线综合+亚洲+欧美中文字幕| 国产精品美女黄网| 老司机精品视频一区二区三区| 亚洲区一区二区三区| 久久xxxx| 一本一本久久| 黄色一区二区三区| 欧美日韩视频在线一区二区观看视频 | 久久国产欧美日韩精品| 亚洲黄网站黄| 久久国内精品自在自线400部| 最新69国产成人精品视频免费| 国产精品成人一区| 欧美 日韩 国产 一区| 亚洲欧美日韩中文播放| 亚洲国产日韩欧美一区二区三区| 欧美一区二区精美| 亚洲视频在线播放| 亚洲国产欧美日韩另类综合| 国产精品一区二区三区成人| 欧美精品 国产精品| 久久岛国电影| 亚洲欧美日韩成人高清在线一区| 欧美激情无毛| 久久久久久久91| 国产一区二区黄| 欧美剧在线观看| 久久精品国产91精品亚洲| 99精品欧美一区二区三区| 欧美成人午夜激情| 另类成人小视频在线| 久久蜜臀精品av| 欧美一区二区三区四区高清|