1 条题解

  • 1
    @ 2024-9-3 21:42:47

    这道题很水,真的,暴力枚举都能做
    就是循环同时遍历两个字符串,再分别判断大小写就行了,纯纯水题\

    AC Code

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
    	string k,m;
    	cin>>k>>m;
    	int j=0;
    	for(int i=0;i<m.length();i++){
    		if(j==k.length())j=0;
    		if(k[j]>='A'&&k[j]<='Z'){
    			if(m[i]>='A'&&m[i]<='Z'){
    				if(m[i]-(k[j]-'A')<'A'){
    					m[i]='Z'-('A'-(m[i]-(k[j]-'A')))+1;
    				}
    				else m[i]=m[i]-k[j]+'A';
    			}
    			else if(m[i]>='a'&&m[i]<='z'){
    				if(m[i]-(k[j]-'A')<'a'){
    					m[i]='z'-('a'-(m[i]-(k[j]-'A')))+1;
    				}
    				else m[i]=m[i]-k[j]+'A';
    			}
    		}
    		else if(k[j]>='a'&&k[j]<='z'){
    			if(m[i]>='A'&&m[i]<='Z'){
    				if(m[i]-(k[j]-'a')<'A'){
    					m[i]='Z'-('A'-(m[i]-(k[j]-'a')))+1;
    				}
    				else m[i]=m[i]-k[j]+'a';
    			}
    			else if(m[i]>='a'&&m[i]<='z'){
    				if(m[i]-(k[j]-'a')<'a'){
    					m[i]='z'-('a'-(m[i]-(k[j]-'a')))+1;
    				}
    				else m[i]=m[i]-k[j]+'a';
    			}
    		}
    		j++;
    	}
    	cout<<m;
    	return 0;
    }
    
  • 1

信息

ID
818
时间
1000ms
内存
128MiB
难度
10
标签
递交数
4
已通过
1
上传者