当前位置: 代码迷 >> 综合 >> 2020牛客暑期多校训练营(第三场)B Classical String Problem
  详细解决方案

2020牛客暑期多校训练营(第三场)B Classical String Problem

热度:98   发布时间:2024-01-30 00:50:03.0

题目链接

思路:

当输入M时,将开头位置加x,当输入A时,输出s[开头位置加x-1]。

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int N=2e6+7;
const int M=105;
const int mod=1e9+7;
const int inf=0x7fffffff;
const double pi=3.1415926535;
using namespace std;
signed main()
{IOS;int n,q,sum=0;string s;cin>>s;n=s.size();cin>>q;for(int i=0;i<q;i++){int x;char c;cin>>c>>x;if(c=='A'){cout<<s[(sum+x-1)%n]<<endl;}else{sum=(sum+x)%n;if(sum<0){sum+=n;}}}return 0;
}
  相关解决方案