// UVa 496 - Simply Subsets
#include <iostream>
#include <string>
#include <sstream>
#include <map>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
map<string, bool> s;
int count = 0;
istringstream strm(line);
string a;
while (strm >> a) {
s[a] = true;
count++;
}
bool element_not_found = false, common_element = false;
getline(cin, line);
istringstream strm2(line);
string b;
while (strm2 >> b) {
if (s[b] == false)
element_not_found = true;
else {
s[b] = false;
count--;
common_element = true;
}
}
if (element_not_found && count && common_element)
cout << "I'm confused!\n";
else if (element_not_found && count && !common_element)
cout << "A and B are disjoint\n";
else if (element_not_found && count == 0)
cout << "A is a proper subset of B\n";
else if (!element_not_found && count == 0)
cout << "A equals B\n";
else if (!element_not_found && count && common_element)
cout << "B is a proper subset of A\n";
}
return 0;
}
Tuesday, June 9, 2015
UVa 496 - Simply Subsets
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment