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

ZOJ 1808 Immediate Decodability

Posted on 2010-11-05 17:12 李東亮 閱讀(1300) 評論(0)  編輯 收藏 引用 所屬分類: acm
 

ZOJ 1808 Immediate Decodability

       這道題給出n個有10組成的字符串集合,然后要求判斷是否有某一個字符串是另一個字符串的前綴。是字典樹的典型應用。

       字典樹有靜態和動態之分,動態字典樹就是在插入時根據需要動態malloc節點,而靜態字典樹則是事先開辟一個較大的數組,然后設置一個變量index指向當前數組中未被占用的節點下標的最小值,即下一個可用節點的下標。跟C語言中實現靜態鏈表類似。這兩種方法各有優劣,動態字典樹理論上可以插入任意多個節點,但是每次的malloc及最后的free會消耗很多時間。而靜態字典樹省去了內存的動態申請和釋放,節省了時間,但是可以插入節點數目受到事先開辟的數組大小限制,可擴展性較差。具體采用哪種實現方式根據需求而定。就本題而言時間要求1s,可以初步需要插入的判斷節點數目不會太多,因此為了提高運行速度采用了靜態字典樹。

       參考代碼如下:

#include <stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
struct dick
{
    
/*左右孩子指針,指向左右孩子在數組中的下標,做孩子為0,右孩子為1*/
    
int child[2];
    
/*是否是字符串的最后一個字符*/
    
int leaf;
};
/*從該數組中分配節點*/
struct dick d[1000];
/*指向下個可用節點的下標*/
int index;
int main(void)
{
    
char buf[100];
    
int no = 0;
    
int flag = 1;
    
int i;
    index 
= 0;
    
int start;
    
int tmp;
    
int test;
    memset(d, 
0sizeof(d));
    freopen(
"in.txt""r", stdin);
    
while (gets(buf) != NULL)
    {
        
if (buf[0== '9' && buf[1]  == '\0')
        {
            
++no;
            
if (flag == 1)
            {
                printf(
"Set %d is immediately decodable\n", no);
            }
            
else
            {
                printf(
"Set %d is not immediately decodable\n", no);
            }
            
/*清理和初始化數據*/
            flag 
= 1;
            memset(d, 
0sizeof(d));
            index 
= 0;
        }
        
else if (flag == 1)
        {
            i 
= 0
            start 
= 0;
            test 
= 1;
            
/*逐字符插入數據到字典樹中*/
            
while (buf[i] != '\0')
            {
                
if (d[start].child[buf[i]-'0'== 0)
                {
                    
if (d[start].leaf == 1)
                    {
                        
break;/*發現已插入字符串是本字符串的前綴*/
                    }
                    
/*分配新的節點*/
                    d[start].child[buf[i]
-'0'= ++index;
                    test 
= 0;                    
                }
                tmp 
= d[start].child[buf[i]-'0'];
                
if (buf[i+1== '\0')
                {
                    d[tmp].leaf 
= 1;
                }
                start 
= tmp;                
                
++i;
            }
            
if (test == 1)
            {
                flag 
= 0;
            }
        }
    }
    
return 0;
}

posts - 12, comments - 1, trackbacks - 0, articles - 1

Copyright © 李東亮

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情综合亚洲一二区| 亚洲影院色无极综合| 欧美久久99| 欧美日韩精品| 欧美日韩免费高清一区色橹橹| 欧美激情欧美激情在线五月| 欧美日韩国产欧| 国产精品毛片a∨一区二区三区|国 | 亚洲国产精品一区二区www| 亚洲第一黄色| 亚洲天堂网站在线观看视频| 午夜天堂精品久久久久| 久久午夜影视| 亚洲国产精品一区二区尤物区| 欧美激情精品久久久久久大尺度| 亚洲电影免费观看高清完整版在线观看| 亚洲欧美日韩视频一区| 久久久久久久网| 欧美日韩在线播放三区| 国产一区二区久久精品| 亚洲人成网在线播放| 亚洲在线成人| 伊人狠狠色丁香综合尤物| 欧美一区成人| 欧美成人午夜激情在线| 日韩小视频在线观看| 午夜精品亚洲| 欧美久久九九| 国产欧美精品在线观看| 亚洲美女精品久久| 久久精品一区二区三区四区| 亚洲第一中文字幕| 欧美一区二区三区另类| 欧美精品v日韩精品v韩国精品v| 国产精品日日做人人爱| 亚洲全黄一级网站| 久久综合九色欧美综合狠狠| 在线一区二区日韩| 欧美电影免费观看高清完整版| 国产精品综合不卡av| 亚洲美女电影在线| 美女日韩在线中文字幕| 一本色道久久综合一区 | 在线亚洲观看| 美国十次了思思久久精品导航| 国产精品一区毛片| 一区二区三区久久精品| 欧美成人中文字幕| 欧美一区二区免费| 国产精品草莓在线免费观看| 亚洲精品美女久久7777777| 久久天天躁狠狠躁夜夜爽蜜月 | 一区二区免费在线播放| 久久久噜噜噜久久狠狠50岁| 国产精品一区亚洲| 亚洲女人天堂av| 亚洲精品久久久久久下一站| 老牛影视一区二区三区| 黄色av成人| 久久久久天天天天| 欧美一区二区三区视频免费播放| 国产精品久久网站| 在线综合视频| 亚洲视频在线观看一区| 欧美日韩亚洲视频一区| 一区二区欧美日韩| 99视频有精品| 国产精品美女久久| 亚洲综合第一| 亚洲欧美制服中文字幕| 国产亚洲永久域名| 久久久7777| 久久久精品久久久久| 黄色成人在线免费| 欧美成人午夜激情在线| 欧美久久久久久久久| 亚洲午夜精品久久久久久app| 亚洲美女中文字幕| 欧美午夜激情视频| 久久一本综合频道| 国产又爽又黄的激情精品视频| 欧美一区2区视频在线观看| 亚洲字幕一区二区| 国语自产精品视频在线看| 欧美日韩中文字幕日韩欧美| 亚洲精品资源| 99在线精品视频| 国产精品青草久久| 久久美女性网| 欧美本精品男人aⅴ天堂| 亚洲午夜极品| 久久激情视频久久| 日韩写真视频在线观看| 亚洲永久免费| 亚洲国产成人精品女人久久久| 亚洲激情在线观看视频免费| 欧美日韩亚洲综合在线| 久久久久久一区二区| 欧美成人一区二免费视频软件| 亚洲免费网站| 米奇777在线欧美播放| 午夜精品久久久久久久蜜桃app| 午夜欧美大尺度福利影院在线看| 亚洲国产精品www| 亚洲一区二区网站| 日韩小视频在线观看| 午夜一级久久| 日韩视频在线播放| 亚洲欧美日韩在线| 一本色道久久88综合日韩精品| 亚洲欧美日韩一区二区三区在线| 亚洲国产精品第一区二区三区| 这里只有精品在线播放| 亚洲精品一区在线| 久久久久久一区| 亚洲欧美日本视频在线观看| 老司机凹凸av亚洲导航| 欧美一区在线看| 欧美日韩在线播放一区二区| 欧美国产亚洲另类动漫| 国产亚洲观看| 一区二区三区视频在线播放| 亚洲理论在线观看| 久久一区二区三区四区| 欧美亚洲免费电影| 国产精品久久激情| 一本到高清视频免费精品| 亚洲精选91| 久久久久久欧美| 久久精品一区二区三区中文字幕| 欧美日韩一区二区三区四区五区| 欧美韩国日本综合| 亚洲国产精品电影| 免费精品视频| 亚洲丰满在线| 亚洲三级视频在线观看| 欧美3dxxxxhd| 亚洲第一精品福利| 亚洲片区在线| 欧美精品成人在线| 亚洲精选一区二区| 制服丝袜亚洲播放| 欧美日韩美女在线观看| 狠久久av成人天堂| 性欧美激情精品| 国产精品视频免费一区| 亚洲视频综合| 久久精品亚洲一区| 国产视频在线观看一区二区三区 | 久久精品亚洲精品国产欧美kt∨| 国产欧美日韩三区| 欧美一级视频精品观看| 久久精品国产69国产精品亚洲| 国产专区欧美精品| 久久久久久尹人网香蕉| 欧美激情精品久久久久久| 伊人成人网在线看| 欧美精品18+| 亚洲主播在线播放| 免费不卡在线观看| 亚洲另类在线视频| 欧美日韩日本国产亚洲在线| 亚洲图片你懂的| 久久久欧美一区二区| 91久久嫩草影院一区二区| 欧美日韩一二三四五区| 亚洲男人天堂2024| 欧美96在线丨欧| 在线亚洲+欧美+日本专区| 国产精品久久久久婷婷| 久久黄色级2电影| 亚洲国产高清一区二区三区| 国产精品99久久久久久www| 国产精品一区视频| 免费一区二区三区| 亚洲一区二区三区四区五区午夜| 欧美在线视频日韩| 亚洲精品久久视频| 国产亚洲精品久久久久久| 欧美国产日韩一区| 午夜精品久久久久久久久| 亚洲国产毛片完整版| 香蕉久久一区二区不卡无毒影院| 伊人成人在线视频| 国产精品亚洲综合色区韩国| 久久性天堂网| 亚洲女ⅴideoshd黑人| 亚洲国产精品传媒在线观看| 欧美一区二区在线看| 国产日韩欧美在线| 亚洲免费视频一区二区| 亚洲精品欧美| 亚洲欧洲三级电影| 久久久久久久久久看片| 亚洲一本视频| 国产情人节一区| 久久成人精品电影| 榴莲视频成人在线观看| 国产在线日韩| 欧美电影美腿模特1979在线看|