复合词 痛定思痛。 2022-06-12 05:49 117阅读 0赞 You are to find all the two-word compound words in a dictionary. A two-word compound word is aword in the dictionary that is the concatenation of exactly two other words in the dictionary.InputStandard input consists of a number of lowercase words, one per line, in alphabetical order. There willbe no more than 120,000 words.OutputYour output should contain all the compound words, one per line, in alphabetical order. Sample Input a alien born less lien never nevertheless new newborn the zebra Sample Output alien newborn 题意:找出复合词,复合词就是可以由两个单词组成的词,比如:alien就是由a和line组成的复合词,(当然前提是只能够在给出的单词里面找) 直接暴力枚举了 #include<iostream> #include<map> #include<cstring> #include<cstdio> using namespace std; char a[120001][20]; char str1[100],str2[100]; map<string,int> map1; int main() { int i=0; while(gets(a[i])!=NULL) map1[a[i++]]=1; for(int j=0;j<i;j++) { int k; int len=strlen(a[j]); for(int l=1;l<len-1;l++) { for(k=0;k<l;k++) str1[k]=a[j][k]; str1[k]='\0'; for(k=l;k<len;k++) str2[k-l]=a[j][k]; str2[k-l]='\0'; if(map1[str1]==1&&map1[str2]==1) { printf("%s\n",a[j]); break; } } } return 0; }
相关 Compound Words(复合词) UVA 10391 解题思路:这道题开始考虑通过合成单词来做,结果超时(复杂度n\n);后面考虑通过分解单词来做(复杂度n\m(m表示单词平均长度))AC了,需要用到string中的分解函数sub ﹏ヽ暗。殇╰゛Y/ 2024年02月17日 18:48/ 0 赞/ 25 阅读
相关 复合词 (Compound Words)(集合+字符函数) 题目描述 给出一个词典,找出所有的复合词,即恰好有两个单词连接而成的单词。输入每行都是一个小写字母组成的单词。输入已按照字典序从小到大排序,且不超过120000个单词。输 ╰+攻爆jí腚メ/ 2022年11月30日 04:26/ 0 赞/ 205 阅读
相关 复合词 You are to find all the two-word compound words in a dictionary. A two-word compound wor 痛定思痛。/ 2022年06月12日 05:49/ 0 赞/ 118 阅读
还没有评论,来说两句吧...