【POJ】3630 Phone List

來源:互聯網
上載者:User

標籤:style   blog   color   for   c   io   

靜態字典樹。

 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4  5 #define MAXN 10005 6  7 typedef struct Trie { 8     bool v; 9     Trie *next[10];10     Trie() {11         v = false;12         for (int i=0; i<10; ++i)13             next[i] = NULL;14     }15 } Trie;16 17 Trie tries[MAXN*10];18 int num;19 20 bool create(char str[]) {21     int i = 0, id;22     Trie *p = tries;23     bool ret = false;24 25     while (str[i]) {26         id = str[i] - ‘0‘;27         ++i;28         if (p->next[id] == NULL) {29             p->next[id] = &tries[num];30             ++num;31             ret = true;32         } else {33             if (p->next[id]->v == true)34                 return false;35         }36         p = p->next[id];37     }38     p->v = true;39     return ret;40 }41 42 int main() {43     int case_n, n;44     char buf[12];45     bool f;46 47     scanf("%d", &case_n);48 49     while (case_n--) {50         scanf("%d", &n);51         f = true;52         num = 1;53         while (n--) {54             scanf("%s", buf);55             if (f)56                 f = create(buf);57         }58         if (f) printf("YES\n");59         else   printf("NO\n");60         for (int i=0; i<num; ++i) {61             tries[i].v = false;62             memset(tries[i].next, 0, sizeof(tries[i].next));63         }64     }65 66     return 0;67 }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.