Not Only Algorithm,不仅仅是算法,关注数学、算法、数据结构、程序员笔试面试以及一切涉及计算机编程之美的内容 。。
你的位置:NoAlGo博客 » 题解 » 

PAT 1050. String Subtraction

Given two strings S1 and S2, S = S1 – S2 is defined to be the remaining string after taking all the characters in S2 from S1. Your task is simply to calculate S1 – S2 for any given strings. However, it might not be that simple to do it fast.

Input Specification

Each input file contains one test case. Each case consists of two lines which gives S1 and S2, respectively. The string lengths of both strings are no more than 104. It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.

Output Specification

For each test case, print S1 – S2 in one line.

Sample Input

They are students.
aeiou

Sample Output

Thy r stdnts.

解答

#include <cstdio>
#include <set>
using namespace std;

char s1[10000+10], s2[10000+10];

int main()
{
	gets(s1); gets(s2);
	set<char> s;
	for (char *p = s2; *p; p++) s.insert(*p);
	for (char *p = s1; *p; p++)
		if (s.find(*p) == s.end()) putchar(*p);
	printf("\n");
	return 0;
}
上一篇: 下一篇:

我的博客

NoAlGo头像编程这件小事牵扯到太多的知识,很容易知其然而不知其所以然,但真正了不起的程序员对自己程序的每一个字节都了如指掌,要立足基础理论,努力提升自我的专业修养。

站内搜索

最新评论