很基础的一道题,注意一下负数取模就行了,i太大的时候偶数会变成负数,我就因为这个WA了几发
懂原理的话就变得很简单了,下面给出我的13行无压行代码
#include<bits/stdc++.h>
using namespace std;
char s[100005];
int main(){
int n;
cin>>n;
cin>>s+1;
for (int i = 1; i <=n; ++i) {
if(i&1) s[i]=(s[i]-97+i)%26+97;
else s[i]=((s[i]-97-i)%26+26)%26+97;
}
puts(s+1);
}不需要多解释了吧。。把这个看成一个环就行了,比较基础的题。



京公网安备 11010502036488号