山東理工大学第7回ACM校試合-文字の変化
1072 ワード
文字の変化
Time Limit:1000 ms Memory limit:65536 K質問は?ここをクリック^^;
タイトルの説明
長さn(1<=n<=1000)の文字列(小文字のみを含む)を操作し、a->b、b->c、c->d...、z->a;m回の操作後の文字列を出力します.(例えばabcdeは1回の操作を経てbcdefになる).
入力
単一グループ入力.試験例の第1の動作文字列s、第2の動作は整数m(0<=m<=1000)である.
しゅつりょく
m回の操作後の文字列を出力します.
サンプル入力
サンプル出力
Time Limit:1000 ms Memory limit:65536 K質問は?ここをクリック^^;
タイトルの説明
長さn(1<=n<=1000)の文字列(小文字のみを含む)を操作し、a->b、b->c、c->d...、z->a;m回の操作後の文字列を出力します.(例えばabcdeは1回の操作を経てbcdefになる).
入力
単一グループ入力.試験例の第1の動作文字列s、第2の動作は整数m(0<=m<=1000)である.
しゅつりょく
m回の操作後の文字列を出力します.
サンプル入力
xyzcd
2
サンプル出力
zabef
#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <queue>
#include <stack>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
const int Max=101000;
int main()
{
char c[1100];
int m;
scanf("%s",c);
scanf("%d",&m);
m=m%26;
for(int i=0;c[i];i++)
{
if(c[i]+m>'z')
{
c[i]=c[i]+m-'z'-1+'a';
}
else
{
c[i]=c[i]+m;
}
}
cout<<c<<endl;
return 0;
}