求思路!怎样输入n个字符串并按要求处理
问题描述:最近情报人员得到一些经过加密的文章,每个单词都很长。破译人员想到先把单词化简一下,方法是把每个单词尽量取最短些的前缀,但所取的前缀不能是其他单词的前缀。这个任务现在就交给你来完成。
解释:“字符串S1是S2的前缀” 是说把字符串S2的后面去掉某些,只保留与S1相同长度时,S2就与S1完全相同。如:“abc”是“abcaade”和“abc”的前缀,但不是“ ababc”的前缀。
输入格式:
第1行有1个整数n,表示单词的个数。
下面n行,每行一个单词。
输出格式:
共n行,每行一个单词,是对应上面的n个单词化简后的单词。
样例输入输出:
abbreviate1.in abbreviate2.in
3
abc
efg
ijh aac
aad
aae
abbreviate1.out abbreviate2.out
a
e
i aac
aad
aae
数据范围:
单词数n,1n50;每个单词的长度不超过50;并且单词都由小写字母构成。
保证所给单词没有一个单词是另一个单词的前缀。
就那个输入n个字符串并按要求处理那块不知道怎么整!在此集思广益哈!望不吝赐教!我的思路是:
就是把n个字符串放在一个线性表s中!用线性表a来存放没个字符串的首地址!比如abc avcd顺序放在表s中那么a[0]中就放&s[0],a[1]中放&a[4]
然后遍历线性表s和a