Resta de cadenas de PTA (20 分)

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.

Dadas dos cadenas S 1 y S 2, S = S 1 −S 2 se define como la cadena restante después de tomar todos los caracteres en S 2 de S 1 . Su tarea es simplemente calcular S 1 −S 2 para cualquier cadena dada. Sin embargo, puede que no sea tan sencillo hacerlo  rápido .

Especificación de entrada:

Cada archivo de entrada contiene un caso de prueba. Cada caso consta de dos líneas que dan S 1 y S 2, respectivamente. Las longitudes de las cuerdas de ambas cuerdas no superan los 10 4. Se garantiza que todos los caracteres sean códigos ASCII visibles y espacios en blanco, y un carácter de nueva línea indica el final de una cadena.

Especificación de salida:

Para cada caso de prueba, imprima S 1 −S 2 en una línea.

Entrada de muestra:

They are students.
aeiou

Salida de muestra:

Thy r stdnts.
#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=1e5+10;
string s1, s2;
map<char, int> mp;
int main(){
	getline(cin, s1, '\n');
	getline(cin, s2, '\n');
	for(int i=0;i<s2.length();i++)
		mp[s2[i]]++;
	for(int i=0;i<s1.length();i++)
		if(mp[s1[i]]==0)
			printf("%c", s1[i]);
	return 0;
}

 

Supongo que te gusta

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