日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Hat’s Words(字典树)

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hat’s Words(字典树) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hat’s Words

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11314????Accepted Submission(s): 4041


Problem Description A hat’s word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.
You are to find all the hat’s words in a dictionary.

?

Input Standard input consists of a number of lowercase words, one per line, in alphabetical order. There will be no more than 50,000 words.
Only one case.

?

Output Your output should contain all the hat’s words, one per line, in alphabetical order.

?

Sample Input a ahat hat hatword hziee word

?

Sample Output ahat hatword 題解:判斷單詞是否是由兩個單詞合并得到,加了個val判斷是否為一個完整的單詞;本來還以為是只與hat結合吶,神經的只減去hat,誰知道,自己想錯了。。。是兩個單詞的結合; 代碼:
 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cmath>
 6 using namespace std;
 7 #define mem(x,y) memset(x,y,sizeof(x))
 8 const int INF=0x3f3f3f3f;
 9 const double PI=acos(-1.0);
10 const int MAXN=50010;
11 int ch[MAXN][30],word[MAXN],val[MAXN];
12 char dt[50010][110];
13 int sz;
14 void initial(){
15     sz=1;
16     mem(ch[0],0);mem(word,0);mem(val,0);
17 }
18 void join(char *s){
19     int len=strlen(s),k=0,j;
20     for(int i=0;i<len;i++){
21         j=s[i]-'a';
22         if(!ch[k][j]){
23             mem(ch[sz],0);
24         //    val[sz]=0;
25             ch[k][j]=sz++;
26         }
27         k=ch[k][j];
28         word[k]++;
29     }
30     val[k]=1;
31 }
32 bool find(char *s){
33     int len=strlen(s),k=0,j;
34     for(int i=0;i<len;i++){
35         j=s[i]-'a';
36         k=ch[k][j];
37         if(!word[k])return false;
38     }
39     if(val[k])return true;
40     else return false;
41 }
42 int main(){
43     initial();
44     int t=0;
45     char s[110],l[110],r[110];
46     while(~scanf("%s",dt[t]))join(dt[t++]);
47     for(int i=0;i<t;i++){
48         int len=strlen(dt[i]);
49         if(len<=1)continue;
50         for(int j=1;j<len;j++){
51             strcpy(r,dt[i]+j);
52             strcpy(l,dt[i]);
53             l[j]='\0';
54             if(find(l)&&find(r)){
55                 puts(dt[i]);break;
56             }
57         }
58     }
59     return 0;
60 }

?

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace  std;
typedef long long LL;
#define mem(x,y) memset(x,y,sizeof(x))
#define SI(x) scanf("%d",&x)
#define PI(x) printf("%d",x)
#define P_ printf(" ")
const int INF=0x3f3f3f3f;
const int MAXN=1000010;//要開的足夠大 
int ch[MAXN][30];
int word[MAXN];
char str[50010][110];
int val[MAXN]; 
int sz;
int N;
char l[110],r[110];
void insert(char *s){int k=0,j;for(int i=0;s[i];i++){j=s[i]-'a';if(!ch[k][j]){mem(ch[sz],0);ch[k][j]=sz++;}k=ch[k][j];word[k]++;}val[k]=1;
}
bool find(char *s){int k=0,j;for(int i=0;s[i];i++){j=s[i]-'a';k=ch[k][j];if(!word[k])return false;}if(val[k]!=1)return false;return true;
}int main(){int tp=0;sz=1;mem(ch[0],0);mem(val,0);mem(word,0);while(~scanf("%s",str[tp]))insert(str[tp++]);
//	printf("%d\n",tp);for(int i=0;i<tp;i++){for(int j=0;str[i][j];j++){strcpy(l,str[i]);l[j]='\0';strcpy(r,str[i]+j);//		printf("**%s %s\n",l,r);if(find(l)&&find(r)){puts(str[i]);break;}}}return 0;
}

  

轉載于:https://www.cnblogs.com/handsomecui/p/4918496.html

總結

以上是生活随笔為你收集整理的Hat’s Words(字典树)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产手机在线观看 | 国产精彩视频在线观看 | av中文字幕网站 | 国产真实老熟女无套内射 | 亚洲美女综合网 | 起碰在线 | 人人草人人干 | 国产美女永久免费 | 啪啪网站免费看 | 免费网站www在线观看 | 美女精品在线观看 | 国产一级片久久 | 中文字幕色哟哟 | 日韩欧美精品中文字幕 | 亚洲综合图片一区 | 亚洲中文字幕无码av永久 | 午夜影院一区二区 | 精品久久久噜噜噜久久久 | 国产码视频 | 黄色尤物视频 | 91精品综合久久久久久五月天 | 国产色区| 少妇喷白浆| 亚洲伊人网站 | 国产主播av | 人妻互换一区二区激情偷拍 | 国产精品久久久久精 | 午夜在线播放 | 欧美特级黄色大片 | 5级黄色片| 999综合网 | 99久久精品日本一区二区免费 | 成人免费视频毛片 | 久av在线| 国产精品第八页 | 在线免费福利视频 | 波多野结衣欲乱上班族 | 成人性免费视频 | 国产二三区| 青青色在线视频 | 4虎最新网址 | 久久狠 | 欧美成人a视频 | 中文字幕人妻丝袜二区 | av在线天堂网 | 成人在线观看视频网站 | 亚洲另类一区二区 | 亚洲依依 | 欧美www视频 | 一区二区视频播放 | 成人黄色性视频 | 黄色aaaa | 国产精品日本 | 激情免费网站 | 欧美日韩人妻精品一区在线 | 玖玖在线视频 | 亚洲图片在线观看 | www.色网| 521av在线| 天堂网2018| 久久国产精品一区二区 | 美女扒开屁股让男人桶 | 国产黑丝视频 | av卡一卡二| 久久久久久久久久久97 | 久久久久亚洲日日精品 | 日韩av一区二区三区四区 | 免费的黄色片 | 中国老头同性xxxxx | 麻豆网站免费看 | 91精品国产高清一区二区三蜜臀 | 亚洲在线观看视频 | 国产精品久久久999 www日本高清视频 | 激情综合网站 | 97精品人妻麻豆一区二区 | 国产特黄毛片 | 精精国产 | 香蕉视频在线看 | 日日人人 | 日韩av影视大全 | 亚洲午夜福利一区二区三区 | 美女毛片| 涩涩网站免费 | 在线免费黄色网址 | 免费在线一级片 | 99re6在线观看| 日本二区在线观看 | 欧美激情一区二区三区蜜桃视频 | 免费播放片大片 | 国产视频一区二区三区四区 | 熟女人妻aⅴ一区二区三区60路 | 亚洲精品tv | 99国内揄拍国内精品人妻免费 | 国产一区自拍视频 | 国产av无码专区亚洲a∨毛片 | 久操久操久操 | 中文字幕无线码一区 | 色无极在线 | 小蝌蚪视频色 |