PTA 1084 Broken Keyboard (20 puntos) (un problema de ejercicio muy simple)

Es la mente humana la que libera la luz infinita, y también es la mente humana la que crea la oscuridad ilimitada. La luz y la oscuridad se entrelazan y luchan juntas. Este es el mundo por el que estamos nostálgicos y desamparados.

En un teclado roto, algunas de las teclas están gastadas. Entonces, cuando escribe algunas oraciones, los caracteres correspondientes a esas teclas no aparecerán en la pantalla.

Ahora, dada una cadena que se supone que debe escribir y la cadena que realmente escribe, enumere las teclas que seguramente están gastadas.

Especificación de entrada:

Cada archivo de entrada contiene un caso de prueba. Para cada caso, la primera línea contiene la cadena original y la segunda línea contiene la cadena escrita a máquina. Cada cadena contiene no más de 80 caracteres que son letras en inglés [AZ] (no distinguen entre mayúsculas y minúsculas), números digitales [0-9] o  _ (que representan el espacio). Se garantiza que ambas cadenas no estén vacías.

Especificación de salida:

Para cada caso de prueba, imprima en una línea las teclas gastadas, en el orden en que fueron detectadas. Las letras en inglés deben estar en mayúscula. Cada llave gastada debe imprimirse una sola vez. Se garantiza que hay al menos una llave gastada.

Entrada de muestra:

7_This_is_a_test
_hs_s_a_es

Salida de muestra:

7TI
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#include<climits>//INT_MAX
#define PP pair<ll,int>
#define inf 0x3f3f3f3f
#define llinf 0x3f3f3f3f3f3f3f3fll
#define dinf 1000000000000.0
#define PI 3.1415926
typedef long long ll;
using namespace std;
int const mod=1e9+7;
const int maxn=3e5+10;
string s1,s2;
map<char,int> mp;
int main(){
	getline(cin,s1);
	getline(cin,s2);
	int cd1=s1.size();
	int cd2=s2.size();
	for(int i=0;i<cd1;i++)
		if(s1[i]>='a'&&s1[i]<='z')
			s1[i]=s1[i]+'A'-'a';
	for(int i=0;i<cd2;i++)
		if(s2[i]>='a'&&s2[i]<='z')
			s2[i]=s2[i]+'A'-'a';
	for(int i=0;i<cd2;i++)
		mp[s2[i]]=1;
	for(int i=0;i<cd1;i++)
		if(mp[s1[i]]!=1){
			cout<<s1[i];
			mp[s1[i]]=1;
		}
	return 0;
}

 

Supongo que te gusta

Origin blog.csdn.net/weixin_44170305/article/details/108414733
Recomendado
Clasificación