1 solutions

  • 0
    @ 2025-3-5 15:36:47

    O(N)O(N)

    按照题目描述去模拟即可,为了方便,可以统一转化大小写以后再进行偏移.

    代码实现

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        string s1,s2;
        cin>>s1>>s2;
        string s;
        for(int i=0;i<s2.size();i++)
        {
            char a=tolower(s2[i]),b=tolower(s1[i%s1.size()]); //统一大小写
            char c=(a-'a'-(b-'a')+26)%26+'a'; //进行规则变换
            if(s2[i]<'a') c=toupper(c); //和原字符保持大小写
            s+=c;
        }
        cout<<s;
    }
    
    • 1

    Information

    ID
    1094
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    10
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By