列表

详情


NC218874. 字符串修改

描述

定义字符加法:
,……,以此类推,特殊地
定义字符减法:
,……,以此类推,特殊地
给定一个长度为的字符串,请输出特殊处理之后的字符串
需要对字符串进行如下处理:对于字符串当中任意字符,当为奇数时将该字符用替换,当为偶数时将该字符用替换

输入描述

第一行一个数字n(1≤n≤100000),表示字符串长度,
第二行一个长度为n的字符串,保证其中只包含小写字母

输出描述

一行,表示特殊处理过的字符串

示例1

输入:

5
abcde

输出:

bzfzj

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 5ms, 内存消耗: 660K, 提交时间: 2021-05-30 09:04:25

#include<cstdio>
using namespace std;
int n;
char str[100005];
int main()
{
    scanf("%d %s",&n,str+1);
    for(int i=1;i<=n;i++)
           putchar(i%2?(str[i]-'a'+i)%26+'a':((str[i]-'a'-i)%26+26)%26+'a');
}

Python3(3.9) 解法, 执行用时: 108ms, 内存消耗: 3128K, 提交时间: 2021-05-02 11:03:41

n=int(input())
s=input()
for i in range(n):
    j=i+1
    b=ord(s[i])-97
    if j&1:
        b=(b+j)%26
    else:
        b=(b-j)%26
    print(chr(b+97),end="")


上一题