#183【模拟】集合运算

Description

在数学上,2个集合A和B之间的运算一般有并集、差集、交集,分别记作A+B、A-B、A*B。本题要求设计一款模拟集合运算的游戏程序,已知所有集合的元素都是小写字母,集合的输入、输出用字符串表示。例如集合A={a b d e},输入输出用字符串"abde"表示。现在输入n个集合运算式,求运算结果。例如,运算式abcd-bckg,那么结果为ad。

Input

第1行一个正整数n,表示有多少运算式, 1<=n<=100。
下面n行,每行一个运算式。运算符号一定是+、-、*之一,运算符号两边各有一个空格隔开。

Output

共n行,对应输入的运算结果。

2
abcd + bcefg
abcd * bcefg
  • Sample Input

abcdefg
bc
  • Sample Output

HINT

假设有两个集合A、B。

并集:属于A或属于B的元素合并起来,并去重,得到一个新的集合。

交集:既属于A又属于B的集合,也就是两个集合相同的部分。

差集:假设是A-B,是指属于A,且不属于B的部分。

这样就简单了,直接模拟

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>

#define SIZE 510

using namespace std;

string sa, sb;
bool a[SIZE], b[SIZE];

int main(void)
{
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值