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

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>
            亚洲一级高清| 欧美1级日本1级| 亚洲精品乱码久久久久久久久| 欧美一级专区免费大片| 国产精品一页| 久久久亚洲成人| 老色鬼精品视频在线观看播放| 亚洲国产另类久久精品| 91久久精品国产91性色| 欧美日韩国产三级| 性欧美大战久久久久久久久| 午夜精品久久久久久久蜜桃app| 国精品一区二区三区| 免费日韩成人| 欧美日韩国产探花| 久久精品国产69国产精品亚洲| 欧美中文字幕| 99成人精品| 性欧美8khd高清极品| 亚洲国产日韩在线一区模特| 日韩视频在线一区二区| 国产伦精品一区二区三区高清版 | 国产精品久久久亚洲一区| 欧美在线观看一区二区| 麻豆91精品| 午夜欧美大片免费观看| 噜噜噜躁狠狠躁狠狠精品视频| 这里是久久伊人| 久久精品国产第一区二区三区| 亚洲精品一区二区在线观看| 亚洲欧美激情一区| 亚洲精品中文字幕在线| 欧美一区二区三区免费在线看 | 欧美片网站免费| 欧美在线关看| 欧美精品在欧美一区二区少妇| 欧美在线黄色| 欧美日本亚洲视频| 麻豆精品视频在线观看| 国产精品嫩草99av在线| 亚洲人成人一区二区三区| 国产亚洲一区二区三区在线播放| 亚洲精品乱码久久久久久蜜桃麻豆| 国产一区二区三区免费不卡| 亚洲精品国精品久久99热一| 激情成人亚洲| 午夜精品久久久久久99热软件| 日韩视频在线观看一区二区| 久久gogo国模裸体人体| 性做久久久久久久久| 欧美人交a欧美精品| 亚洲第一在线视频| 在线观看日韩www视频免费| 亚洲欧美国产高清va在线播| 亚洲视频精选| 欧美日韩国产成人| 亚洲精品国产精品国自产在线| 亚洲成人原创| 久久婷婷国产麻豆91天堂| 久久午夜羞羞影院免费观看| 国产精品一区二区在线观看网站 | 欧美一区中文字幕| 销魂美女一区二区三区视频在线| 欧美精品在线视频观看| 最新中文字幕一区二区三区| 最新日韩欧美| 欧美极品在线播放| 亚洲青色在线| 亚洲午夜高清视频| 国产精品国产三级国产普通话蜜臀| 日韩视频一区二区三区在线播放免费观看| 亚洲黄色视屏| 欧美精品日本| 中文精品视频一区二区在线观看| 亚洲一级免费视频| 国产麻豆精品theporn| 午夜在线视频一区二区区别| 久久精品一级爱片| 在线看一区二区| 欧美插天视频在线播放| 亚洲日本电影| 亚洲欧美日韩一区二区在线| 国产欧美日韩亚州综合| 久久久999| 亚洲福利视频网| 中文欧美字幕免费| 国产日韩精品一区二区三区| 久久精品国产清自在天天线 | 午夜精品亚洲一区二区三区嫩草| 国产精品mm| 午夜亚洲激情| 欧美激情日韩| 亚洲自拍另类| 在线成人亚洲| 欧美性色视频在线| 久久久久国产精品一区| 亚洲黑丝一区二区| 欧美一区二区网站| 亚洲国产婷婷| 国产精品美女在线观看| 久久人体大胆视频| 一区二区三区精品在线| 久久人人97超碰国产公开结果 | 一区二区久久久久| 国产亚洲永久域名| 欧美高清不卡| 羞羞视频在线观看欧美| 亚洲日韩成人| 另类图片国产| 亚洲一区二区动漫| 亚洲成人在线网| 欧美性一二三区| 美女爽到呻吟久久久久| 亚洲欧美视频一区二区三区| 亚洲激情国产| 另类天堂av| 欧美在线视频全部完| 亚洲免费福利视频| 在线成人h网| 国产精自产拍久久久久久| 欧美激情亚洲| 久久人人爽人人爽| 午夜日韩福利| 中文精品在线| 亚洲精品中文字幕在线观看| 欧美1级日本1级| 欧美中文在线观看国产| 亚洲一区二区三区免费在线观看| 亚洲国产成人tv| 狠狠色综合播放一区二区| 国产精品五区| 国产精品露脸自拍| 欧美午夜精品理论片a级按摩| 欧美激情精品久久久久久黑人| 欧美专区日韩视频| 欧美一区观看| 欧美有码视频| 欧美在线观看天堂一区二区三区 | 欧美粗暴jizz性欧美20| 久热精品视频在线观看| 久久久噜久噜久久综合| 久久9热精品视频| 久久精品91| 久久久www成人免费毛片麻豆 | 一区三区视频| 狠狠色噜噜狠狠色综合久| 国内久久婷婷综合| 国产综合在线视频| 精品成人国产| 亚洲高清在线| 亚洲毛片av| 一区二区三区高清在线 | 亚洲激情综合| 亚洲日本中文字幕免费在线不卡| 亚洲欧洲日韩女同| 一区二区三区久久久| 一个色综合av| 午夜精品一区二区三区电影天堂 | 在线欧美小视频| 亚洲精品欧美日韩专区| 国产精品99久久久久久久久久久久| 宅男噜噜噜66一区二区66| 亚洲一区免费网站| 久久精品视频va| 欧美国产日韩精品| 99精品99| 欧美中日韩免费视频| 女同一区二区| 国产精品videosex极品| 国产在线国偷精品产拍免费yy| 在线欧美影院| 亚洲中字黄色| 免费久久99精品国产| 亚洲免费成人av| 亚洲综合久久久久| 美脚丝袜一区二区三区在线观看 | 在线电影一区| 中文欧美日韩| 久久久噜噜噜久久中文字免| 亚洲国产精品一区二区第一页 | 中国av一区| 久久久久久久久一区二区| 欧美精品在线一区| 国产一区久久| 一区二区精品在线观看| 久久综合给合久久狠狠狠97色69| 91久久精品日日躁夜夜躁欧美| 在线视频免费在线观看一区二区| 久久久国产91| 国产精品久久久一区二区| 亚洲国产欧美一区| 欧美一区日本一区韩国一区| 亚洲国产日韩欧美在线图片| 亚洲女与黑人做爰| 欧美日韩国产在线播放| 在线成人免费观看| 久久黄金**| 一区二区三区精品| 欧美久久久久久久久| 在线观看视频一区|