zoukankan      html  css  js  c++  java
  • PAT乙级 1029 旧键盘 (C++ python3)

    PAT甲级 1029 旧键盘 (C++ python3)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。

    Input Specification:

    输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。

    Output Specification:

    按照发现顺序,在一行中输出坏掉的键。其中英文字母只输出大写,每个坏键只输出一次。题目保证至少有 1 个坏键。

    Sample Input:

    7_This_is_a_test
    _hs_s_a_es

    Sample Output:

    7TI

    分析

    题目有两个坑点:
    1.需要的结果是所有的坏键盘的大写形式
    2.坏键盘不重复只用输出一次

    C++代码如下:

    #include <iostream>
    #include <string>
    #include <vector>
    #include <algorithm>
    using namespace std;
    string s1, s2, ans;
    int vis[200];
    int main()
    {
    	vector<char> ans;
    	cin >> s1; cin >> s2;
    	for (int i = 0; i < s2.size(); i++)
    		vis[int(s2[i])] = 1;
    	for (int i = 0; i < s1.size(); i++){
    		if (vis[int(s1[i])] == 0){
    			//如果遇到小写字母的情况下
    			if (s1[i] >= 'a' && s1[i] <= 'z' && vis[int(s1[i])- 32] != 1){
    				ans.push_back(toupper(s1[i]));
    				vis[int(s1[i]) - 32] = 1; //标记该校写字母对应的大写字母
    				vis[int(s1[i])] = 1;      //标记该小写字母
    			}
    			else if(s1[i] >= 'A' && s1[i] <= 'Z'){//如果遇到大写字母
    				ans.push_back(s1[i]);
    				vis[int(s1[i])] = 1;
    				vis[int(s1[i]) + 32] = 1;
    			}
    			else { //其他情况
    				ans.push_back(s1[i]);
    				vis[int(s1[i])] = 1;
    			}
    		}
    	}
    	for (int i = 0; i < ans.size(); i++)cout << ans[i];
    	system("pause");
    	return 0;
    }
    

    Python3代码:

    def main():
        string1 = input().upper()
        string2 = input().upper()
        res = set(string1) - set(string2)。
        answer = ""
        for x in string1:
            if len(res) > 0 and x in res:
                answer += x
                res.remove(x)
            elif len(res) == 0:
                break
        print(answer)
    if __name__ == '__main__':
        main()
    
    
  • 相关阅读:
    oracle一次删除多张表
    JS学习之动态加载script和style样式
    JS动态引入js、CSS动态创建script/link/style标签
    js设置全局变量ajax中赋值
    java获取程序执行时间
    echarts学习总结(二):一个页面存在多个echarts图形,图形自适应窗口大小
    Codeforces Round #188 (Div. 1) B. Ants 暴力
    Codeforces Round #188 (Div. 2) C. Perfect Pair 数学
    Codeforces Round #188 (Div. 2) B. Strings of Power 水题
    Codeforces Round #188 (Div. 2) A. Even Odds 水题
  • 原文地址:https://www.cnblogs.com/wlw-x/p/11529691.html
Copyright © 2011-2022 走看看