1511 TOM的任务
Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 131072/65536 KB(Java/Others)
Submits : 2 | Solved : 1
Description
一天,Tom在网上看到了一些关于黑客入侵的新闻后,感到那些保存在电脑里的日记很不安全。他想加密一下他的日记,但他又不会编程,所以他想请你帮忙,完成他的加密任务。 Tom的加密算法其实是不难的,其原理如下:对于三个钥匙k1,k2,k3与一个字符串原文. 假如所给的原文和密钥k1,k2,k3如下:
![]()
则,k1对应原文中下标为1的字母所组成的子字串,既:N_ROCLENI ;k2对应原文中下标为2的字母所组成的子字串,即:EHINOE_GS ;k3对应原文中下标为3的字母所组成的子字串,即:W0Z_LGELH 。密钥: 若k1=1,这时对k1所对应的子串实施一次左移动,得到_ROCLENIN(既将所有的字符都向左移动,但是第一个字符移到最后)。当k1为别的值时做类似的左移动k1次。k2,k3的操作类似。 k1,k2,k3所对应的子串都移动好后,再将它们的子串按原来取出的方法放回去(k1,k2,k3,的子字串按现在的状态放回下标为1,2,3的位置) 如:k1=1,k2=2,k3=3; k1:_ROCLENIN k2:INOE_GSEH k3:_LGELHWOZ
![]()
Input
先输入三个整数表示k1, k2, k3的值。接着下一行输入原文。
注意:样例中输入的数据(钥匙与原文)不止一组,以文件结束符结束。
其中 0 =< k1,k2,k3 <= 1,000,000,000,原文大小不超过5000个字符,只含有英文字母和下划线.
Output
输出你加密得到的密文。
Sample Input
1 2 3 NEW_HORIZON_COLLEGE_ENGLISH 3 4 5 __chtwsohTet_hrMAer_Ciopsdvo_eelc_glusendt_tetwsohiop_urptntsiio_en_trtitaei
Sample Output
_I_RNLOOGCEEL_LEGHNSWIEONHZ The_ACM_provides_college_students_with_opportunities_to_interact_with_others
HINT
有多组测试数据
Source
NBU OJ