还记得上学时每周要换座位吗?第四组换到第一组、第一组换到第二组……
现在用一个字母表示一个组,请你计算经历n周之后座位的情况。
解析:
//约瑟夫问题
#include<iostream>
(720)#include<string>
#include<algorithm>
using namespace std;
int main(){
string s;
long long n;
while(cin>>s>>n){
string res=s;
if(n>0){///右移n位,相当于左移s.size()-n位
n%=s.size();
for(int i=0;i<s.size();i++){
res[i]=s[(i+s.size()-n)%s.size()];
}
}else if(n<0){
n=-n;
for(int i=0;i<s.size();i++){
res[i]=s[(i+n)%s.size()];
}
}
cout<<res<<endl;
}
return 0;
}