zoukankan      html  css  js  c++  java
  • 【PAT甲级】1084 Broken Keyboard (20 分)

    题意:

    输入两行字符串,输出第一行有而第二行没有的字符(对大小写不敏感且全部以大写输出)。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 string s1,s2;
     5 bool vis[507];
     6 vector<char>ans;
     7 int main(){
     8     ios::sync_with_stdio(false);
     9     cin.tie(NULL);
    10     cout.tie(NULL);
    11     cin>>s1>>s2;
    12     int n=s1.size();
    13     int p=0;
    14     int pos=0;
    15     for(int i=0;i<n;++i){
    16         if(s1[i]==s2[p])
    17             ++p;
    18         else if(!vis[s1[i]-'0']){
    19             if(s1[i]>='a'&&s1[i]<='z')
    20                 ans.push_back(s1[i]-'a'+'A');
    21             else
    22                 ans.push_back(s1[i]);
    23             vis[s1[i]-'0']=1;
    24             if(s1[i]>='a'&&s1[i]<='z')
    25                 vis[s1[i]-'a'+'A'-'0']=1;
    26             else if(s1[i]>='A'&&s1[i]<='Z')
    27                 vis[s1[i]-'A'+'a'-'0']=1;
    28         }
    29         if(p==s2.size()){
    30             pos=i+1;
    31             break;
    32         }
    33     }
    34     for(int i=pos;i<n;++i)
    35         if(!vis[s1[i]-'0']){
    36             ans.push_back(s1[i]);
    37             vis[s1[i]-'0']=1;
    38             if(s1[i]>='a'&&s1[i]<='z')
    39                 vis[s1[i]-'a'+'A'-'0']=1;
    40             else if(s1[i]>='A'&&s1[i]<='Z')
    41                 vis[s1[i]-'A'+'a'-'0']=1;
    42         }
    43     for(auto it:ans)
    44         cout<<it;
    45     return 0;
    46 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    Java编程练习(四)——集合框架应用
    89. Gray Code (Java)
    加解密算法
    Cookie、Session和Token
    87. Scramble String (Java)
    51. N-Queens (JAVA)
    85. Maximal Rectangle (JAVA)
    84. Largest Rectangle in Histogram (JAVA)
    81. Search in Rotated Sorted Array II (JAVA)
    77. Combinations (JAVA)
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11877696.html
Copyright © 2011-2022 走看看