锘??xml version="1.0" encoding="utf-8" standalone="yes"?>免费日韩av片,国产亚洲一区在线,欧美日韩一区不卡http://www.shnenglu.com/Ylemzy/articles/103089.html鐏⒊榛?/dc:creator>鐏⒊榛?/author>Sun, 13 Dec 2009 03:15:00 GMThttp://www.shnenglu.com/Ylemzy/articles/103089.html Shortest Prefixes

Description

A prefix of a string is a substring starting at the beginning of the given string. The prefixes of "carbon" are: "c", "ca", "car", "carb", "carbo", and "carbon". Note that the empty string is not considered a prefix in this problem, but every non-empty string is considered to be a prefix of itself. In everyday language, we tend to abbreviate words by prefixes. For example, "carbohydrate" is commonly abbreviated by "carb". In this problem, given a set of words, you will find for each word the shortest prefix that uniquely identifies the word it represents.

In the sample input below, "carbohydrate" can be abbreviated to "carboh", but it cannot be abbreviated to "carbo" (or anything shorter) because there are other words in the list that begin with "carbo".

An exact match will override a prefix match. For example, the prefix "car" matches the given word "car" exactly. Therefore, it is understood without ambiguity that "car" is an abbreviation for "car" , not for "carriage" or any of the other words in the list that begins with "car".

Input

The input contains at least two, but no more than 1000 lines. Each line contains one word consisting of 1 to 20 lower case letters.

Output

The output contains the same number of lines as the input. Each line of the output contains the word from the corresponding line of the input, followed by one blank space, and the shortest prefix that uniquely (without ambiguity) identifies this word.

Sample Input

carbohydrate
cart
carburetor
caramel
caribou
carbonic
cartilage
carbon
carriage
carton
car
carbonate

Sample Output

carbohydrate carboh
cart cart
carburetor carbu
caramel cara
caribou cari
carbonic carboni
cartilage carti
carbon carbon
carriage carr
carton carto
car car
carbonate carbona
棰樻剰錛?br />鏌ユ壘鍗曡瘝鐨勬渶鐭墠緙

浠g爜濡備笅錛?br />
#include<stdio.h>
#include
<string.h>
#define聽maxn聽10000
char聽dic[maxn][21];
#define聽M聽10000000
struct聽Dict
{
聽聽聽聽
int聽times,聽isWord;
聽聽聽聽Dict聽
*聽next[26];
};
Dict聽F[M];
//渚沶ewNode鐢ㄧ殑錛屾瘮malloc蹇?/span>
int聽th聽=0;//th琛ㄧずF琚皟鐢ㄨ繃鐨勭┖闂?/span>
Dict聽*聽newNode()//
{
聽聽聽聽Dict聽
*聽p聽=&F[th++];
聽聽聽聽p
->isWord聽=0,聽p->times聽=0;//鍒濆鍖朠
聽聽聽聽for聽(int聽i聽=0;聽i聽<26;聽i++)
聽聽聽聽{
聽聽聽聽聽聽聽聽p
->next[i]聽=聽NULL;
聽聽聽聽}
聽聽聽聽
return聽p;
}
void聽insert(Dict聽*聽r,聽char*聽s)
{
聽聽聽聽
if聽(s[0]聽==0)
聽聽聽聽{
聽聽聽聽聽聽聽聽r
->isWord++;//琛ㄧず鍗曡瘝鏁伴噺
聽聽聽聽聽聽聽聽return;
聽聽聽聽}
聽聽聽聽
if聽(!r->next[s[0]-'a'])//濡傛灉s[0]涓嶆槸緇撴潫絎︼紝涓旇鍗曡瘝鍓嶇紑涓嶅瓨鍦紝鐢熸垚褰撳墠瀛楁瘝
聽聽聽聽{
聽聽聽聽聽聽聽聽r
->next[s[0]-'a']聽=聽newNode();
聽聽聽聽}
聽聽聽聽r
->next[s[0]-'a']->times++;//璇ュ崟璇嶅綋鍓嶅墠緙鍑虹幇嬈℃暟
聽聽聽聽insert(r->next[s[0]-'a'],聽s聽+1);
}
//絎﹀悎鐨勫墠緙鏉′歡錛?br />//鍓嶇紑鏄敮涓鐨勶紝鎴栬呬互璇ュ崟璇嶆湰韜仛鑷繁鐨勫墠緙銆?/span>
int聽search(Dict聽*聽r,聽char*聽s,聽int聽len)
{
聽聽聽聽
if聽(s[len]聽==0)
聽聽聽聽{
聽聽聽聽聽聽聽聽
if聽(r->isWord)//琛ㄧず璇ュ墠緙鏄釜鍗曡瘝銆?/span>
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽
return聽len;
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
return-1;
聽聽聽聽}
聽聽聽聽
if聽(r->times聽==1)//琛ㄧず璇ュ墠緙鍞竴
聽聽聽聽{
聽聽聽聽聽聽聽聽
return聽len;
聽聽聽聽}
聽聽聽聽
if聽(!r->next[s[len]-'a'])
聽聽聽聽{
聽聽聽聽聽聽聽聽
return-1;
聽聽聽聽}
聽聽聽聽
return聽search(r->next[s[len]-'a'],聽s,聽len聽+1);
}
int聽main()
{
聽聽聽聽
int聽i,聽j,聽k,聽t,聽len;
聽聽聽聽
char聽a[21];
聽聽聽聽Dict聽
*聽root聽=聽newNode();
聽聽聽聽
for聽(i聽=0;聽scanf("%s",聽dic[i])聽!=聽EOF;聽i++)
聽聽聽聽{
聽聽聽聽聽聽聽聽insert(root,聽dic[i]);
聽聽聽聽}
聽聽聽聽
for聽(j聽=0;聽j聽<聽i;聽j++)
聽聽聽聽{
聽聽聽聽聽聽聽聽printf(
"%s聽",聽dic[j]);
聽聽聽聽聽聽聽聽len聽
=聽search(root,聽dic[j],聽0);
聽聽聽聽聽聽聽聽dic[j][len]聽
=0;
聽聽聽聽聽聽聽聽printf(
"%s\n",聽dic[j]);
聽聽聽聽}
聽聽聽聽
return0;
}




]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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亚洲视频| 亚洲小说区图片区| 国产欧美一级| 美女视频一区免费观看| 欧美xxxx在线观看| 亚洲天堂av高清| 亚洲欧美日韩一区| 亚洲高清资源| 一本色道久久综合亚洲精品小说| 国产精品欧美久久| 久久久久九九视频| 欧美激情久久久久久| 亚洲一区视频在线| 久久男人av资源网站| aa级大片欧美三级| 午夜久久影院| 夜夜夜精品看看| 午夜亚洲性色福利视频| 亚洲精品日韩在线| 欧美一区二区高清在线观看| 亚洲日本成人网| 午夜精彩国产免费不卡不顿大片| 亚洲韩国青草视频| 亚洲一区视频在线| 亚洲国产精品第一区二区| 一区二区三区欧美视频| **网站欧美大片在线观看| 亚洲午夜在线观看| 亚洲精品久久视频| 久久久久久久999| 亚洲免费综合| 欧美日韩精品免费| 欧美成人在线网站| 国产亚洲成精品久久| 一本色道久久加勒比88综合| 精品动漫一区二区| 小辣椒精品导航| 免费亚洲视频| 影音先锋亚洲电影| 亚洲欧美日韩成人| 亚洲视频中文字幕| 欧美精品一区在线| 欧美高清成人| 1769国产精品| 久久精品一区| 久久久久久69| 国产精品视频免费一区| 这里只有精品丝袜| 中文av一区二区| 欧美精品尤物在线| 亚洲国产精品国自产拍av秋霞| 欧美天天影院| 99www免费人成精品| 一区二区三区精品| 欧美精品aa| 欧美激情一区二区三级高清视频| 激情国产一区| 日韩亚洲精品在线| 美女久久网站| 亚洲国产精品电影| 一区二区毛片| 国产精品国产a级| 中国成人在线视频| 欧美在线观看天堂一区二区三区| 国产精品视频xxxx| 欧美一区二区三区四区视频| 久久裸体视频| 亚洲第一精品夜夜躁人人爽| 美乳少妇欧美精品| 亚洲国产精品久久| 99精品国产在热久久婷婷| 欧美精品九九| 中文av一区二区| 久久精品免费| 亚洲黄一区二区三区| 欧美久久久久久| 亚洲视频二区| 久久久久国产精品人| 在线看片成人| 欧美日韩在线大尺度| 亚洲一区尤物| 久久久91精品国产| 在线观看成人小视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲高清电影| 午夜日韩在线| 亚洲国产欧美在线人成| 欧美三级乱码| 久久久免费观看视频| 亚洲久久一区| 久久久久综合网| 亚洲图色在线| 亚洲一区二区视频在线| 玖玖综合伊人| 亚洲天堂网在线观看| 国产一区二区三区直播精品电影| 欧美风情在线| 久久成人一区二区| 99国产精品久久久久久久久久 | 樱桃国产成人精品视频| 欧美日韩国产综合视频在线观看| 亚洲欧美亚洲| 亚洲精品一区二区三| 久久精品一本| 亚洲午夜在线观看视频在线| 久久精品中文字幕免费mv| 欧美一区二区视频在线观看2020| 亚洲黄色一区| 国模精品娜娜一二三区| 欧美激情在线| 久久看片网站| 欧美自拍偷拍午夜视频| 国产精品99久久久久久久vr| 亚洲大片在线| 久久九九热免费视频| 亚洲欧美日韩一区在线| 99精品视频免费全部在线| 一区二区亚洲精品| 国产亚洲制服色| 国产精品久久久久久久久免费桃花 | 美腿丝袜亚洲色图| 久久av老司机精品网站导航| 亚洲视频二区| 亚洲午夜一区二区| 宅男噜噜噜66一区二区| 亚洲精品欧美日韩专区| 亚洲福利av| 欧美国产一区二区在线观看| 麻豆成人在线| 久久九九电影| 久久精品日产第一区二区三区| 亚洲午夜激情网页| 亚洲一级黄色片| 亚洲尤物影院| 亚洲欧美制服另类日韩| 亚洲一区二区三区免费观看| 99视频精品全国免费| 在线亚洲精品| 亚洲欧美一区二区三区久久| 亚洲自拍16p| 欧美一区二区三区在线免费观看| 午夜视频精品| 欧美中文字幕在线视频| 久久精品官网| 老司机午夜精品视频| 欧美成年人视频网站欧美| 欧美国产精品人人做人人爱| 亚洲国产激情| 一本色道久久综合亚洲精品小说| 国产精品99久久久久久白浆小说 | 亚洲区第一页| 99这里只有久久精品视频| 在线视频欧美一区| 午夜精品久久久久久99热软件 | 亚洲人久久久| 亚洲视频在线观看网站| 午夜精品视频网站| 欧美在线你懂的| 噜噜噜91成人网| 欧美日韩精品免费观看| 国产乱码精品| 一区二区在线免费观看| 一区二区激情视频| 久久精品99国产精品日本| 久久综合给合| 日韩视频免费大全中文字幕| 午夜综合激情| 欧美激情第4页| 国产日产高清欧美一区二区三区| 亚洲电影免费观看高清完整版| 一本色道久久综合亚洲精品小说 | 韩日视频一区| 国产一区二区三区免费观看| 国产欧美日韩三区| 免费一区二区三区| 亚洲国产三级网| 国产亚洲在线观看| 国产精品亚洲аv天堂网| 性18欧美另类| 欧美中文字幕在线观看| 西西人体一区二区| 亚洲伊人久久综合| 午夜精品免费在线| 亚洲欧美综合另类中字| 亚洲永久免费av| 羞羞答答国产精品www一本 | 亚洲激情第一区| 亚洲私人影院在线观看| 亚洲三级电影在线观看| 欧美成人三级在线| 欧美激情一区| 欧美天天综合网| 国产精品免费看久久久香蕉| 国产情侣久久|