PAT Broken Keyboard (20)

Source: Internet
Author: User

Title Description
On a broken keyboard, some of the keys is worn out. If you are type some sentences, the characters corresponding to those keys won't appear on screen. Now given a string of you is supposed to type, and the string is actually type out, please list those keys which Is for sure worn out.

Input Description:
Each input file contains the one test case. For each case, the 1st line contains the original string, and the 2nd line contains the Typed-out string.  Each string contains no more than characters which is either 中文版 letters [a-z] (case insensitive), digital numbers [0-9], or "_" (representing the space). It is guaranteed this both strings is non-empty.


Output Description:
For each test case, print in one line the keys is worn out, in the order of being detected. The Chinese letters must be capitalized. Each worn out key must is printed once only. It is guaranteed this there is at the least one worn out key.

Input Example:
7_this_is_a_test_hs_s_a_es

Output Example:
7TI


#include <iostream> #include <cstring> #include <cstdlib> #include <string>using namespace std; const int max=80;//Remove duplicate characters in string void Remove (char* s, int num) {int i,j,l;i=j=0;for (i=0;i<num;i++) {for (l=0;l<j;l++) {if (s[l]==s[i]) break;} if (l>=j) {s[j++]=s[i];}} s[j]= ' + ';} Find the 1th character in the string that does not appear in the 2nd string, void Worn (char* lhs, char* RHS, char* result) {int i,j,k;k=0;for (i=0;lhs[i]!= ' "; i++") {for (j=0;rhs[j]!= ' + '; j + +) {if (lhs[i]==rhs[j]) break;} if (rhs[j]== ') {result[k++]=lhs[i];}} result[k]= ' + ';} int main () {int i;string N,m;char sn[max],sm[max],sr[max];while (cin>>n>>m) {// Converts lowercase English characters in the input string 1 to uppercase English characters for (I=0;i<n.length (); i++) {sn[i]=n[i];if (sn[i]>=65) && (sn[i]<=90) | | (sn[i]>=97) && (sn[i]<=122)) Sn[i]=::toupper (Sn[i]);} Sn[i]= ' +//convert lowercase English characters in the input string 2 to uppercase English characters for (I=0;i<m.length (); i++) {sm[i]=m[i];if (sm[i]>=65) && (sm[i ]&LT;=90) | | (sm[i]>=97) && (sm[i]<=122)) Sm[i]=::toupper (Sm[i]);} sm[i]= ' + ';/*for (i=0;sn[i]!= '; i++) cout<<sn[i]<< ""; Cout<<endl;for (i=0;sm[i]!= '; i++) cout<<sm[i]<< "";cout<<endl; */remove (Sn,n.length ()); Remove (Sm,m.length ()); Worn (SN,SM,SR); for (i=0;sr[i]!= '; i++) Cout<<sr[i];cout<<endl;} return 0;}

PAT Broken Keyboard (20)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.