WuK 2015-09-02 03:55:00
点我顶贴
收藏
删除
由 WuK 在 2015-09-02 18:51:20 提交,有效耗时17ms
测试点1 Accepted / 5ms / 12384kB
测试点2 Accepted / 1ms / 12384kB
测试点3 Accepted / 1ms / 12384kB
测试点4 Accepted / 0ms / 12384kB
测试点5 Accepted / 1ms / 12384kB
测试点6 Accepted / 0ms / 12384kB
测试点7 Accepted / 5ms / 12384kB
测试点8 Accepted / 1ms / 12384kB
测试点9 Accepted / 1ms / 12384kB
测试点10 Accepted / 2ms / 12384kB
#include<iostream>
#include<string>
char work(const char &key,const char &ch)
{
const int c=ch-((ch>='A'&&ch<='Z')?'A':'a'),k=key-((key>='A'&&key<='Z')?'A':'a');
return (c-k<0?c-k+26:c-k)+((ch>='A'&&ch<='Z')?'A':'a');
}
int main()
{
std::string k,c;
std::cin>>k>>c;
for(unsigned i=0;i!=c.size();++i)
std::cout<<work(k[i%k.size()],c[i]);
}