博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA10391 ZOJ1825 Compound Words【SET+暴力】
阅读量:6282 次
发布时间:2019-06-22

本文共 1276 字,大约阅读时间需要 4 分钟。


Time Limit: 5 Seconds       
Memory Limit: 32768 KB

You are to find all the two-word compound words in a dictionary. A two-word compound word is a word in the dictionary that is the concatenation of exactly two other words in the dictionary.

Input

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

Output

Your 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


Source: 
University of Waterloo Local Contest 1996.09.28

问题链接:。

题意简述一堆按照字典序排好的字符串,问有多少字符串是由其它两个字符串组成,输出这些字符串。

问题分析

采用穷举法来解决,数据规模不大就没有问题了。

将所有单词放入字符串集合中。

对所有单词s,将其分为所有可能的两个字符串t1和t2(s=t1+t2),查一下t1和t2是否都在集合中即可。

程序说明:(略)

AC的C++语言程序如下:

/* UVA10391 ZOJ1825 Compound Words */#include 
#include
#include
using namespace std;int main(){ string s, t1, t2; set
sset; int len; while(cin >> s) sset.insert(s); for(set
::iterator iter=sset.begin(); iter!=sset.end(); iter++) { s = *iter; len = s.length(); for(int i=0; i

转载于:https://www.cnblogs.com/tigerisland/p/7563654.html

你可能感兴趣的文章
jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
查看>>
Android:apk签名
查看>>
2(2).选择排序_冒泡(双向循环链表)
查看>>
MySQL 索引 BST树、B树、B+树、B*树
查看>>
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
入门到进阶React
查看>>
SVN 命令笔记
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>