bjjbcbk1994 发表于 2018-3-18 21:48:11

求代码 把所有的字母转换成小写字母。 反转句中的所有单词,如xiaoxin -> nixoaix

【时间限制】1秒
【问题描述】
小信有一种新的加密技术,过程如下:
1、把所有的字母转换成小写字母。
2、反转句中的所有单词,如xiaoxin -> nixoaix。
3、移除所有的空格。
例如小信有这样一句话:Xiaoxin likes playing and he hates working
通过加密后得到:nixoaixsekilyalpdnaehsetahgnikrow
现在小信得到了解密的单词列表和一个加密后的密文,请你帮小信把密文翻译成原文。原文只能由单词列表中的单词组合而成。注意,给定单词列表中的单词可以在密文中使用多次。
【输入】
第一行输入整数N(1)——密文的长度。第二行包含N个小写字母——密文的内容。
第三行输入一个整数M(1)——解密单词的个数,接下来的M行每行输入一个单词,它只能包含大写和小写字母并且长度最多不超过。
【输出】
输出解密后的原文,如果原文有多重可能性,输出任意一种。
【输入样例】
33
nixoaixsekilyalpdnaehsetahgnikrow
12
Xiaoxin
xiaoxin
likes
like
play
playing
and
he
she
hates
working
work
【输出样例】
Xiaoxin likes playing and he hates working
【注】上述样例输出 xiaoxin likes playing and he hates working也为正确答案。

冬雪雪冬 发表于 2018-3-18 22:00:27

不会java,用python写了一个,你参考一下。
str1 = 'nixoaixsekilyalpdnaehsetahgnikrow'
list1 = ['Xiaoxin', 'xiaoxin', 'likes', 'like', 'play', 'playing', 'and', 'he', 'she', 'hates', 'working', 'work']
list2 = []
for each in list1:
    if each.lower()[::-1] == str1[:len(each)]:
      list2.append(each)
      str1 = str1
print(' '.join(list2))

bjjbcbk1994 发表于 2018-3-18 22:11:47

冬雪雪冬 发表于 2018-3-18 22:00
不会java,用python写了一个,你参考一下。

有没有运行截图

冬雪雪冬 发表于 2018-3-18 22:46:44

bjjbcbk1994 发表于 2018-3-18 22:11
有没有运行截图

最后就打印出:
Xiaoxin likes play and he hates working
页: [1]
查看完整版本: 求代码 把所有的字母转换成小写字母。 反转句中的所有单词,如xiaoxin -> nixoaix