#include <iostream>
#include <string>
#include <set>
#include <algorithm>
#include <iterator>
bool containsPrt(const std::string &str, const std::string &prt)
{
std::set<char> s1(str.begin(), str.end());
std::set<char> s2(prt.begin(), prt.end());
std::set<char> result;
std::set_intersection(
s1.begin(), s1.end(), s2.begin(), s2.end(),
std::inserter(result, result.begin()));
return result == s2;
}
int main()
{
std::string str;
std::string prt;
str = "Pegasus";
prt = "eas";
if (containsPrt(str, prt))
std::cout << str << " contains " << prt << std::endl;
else
std::cout << str << " does not contain " << prt << std::endl;
str = "Pegasus";
prt = "eat";
if (containsPrt(str, prt))
std::cout << str << " contains " << prt << std::endl;
else
std::cout << str << " does not contain " << prt << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8aXRlcmF0b3I+Cgpib29sIGNvbnRhaW5zUHJ0KGNvbnN0IHN0ZDo6c3RyaW5nICZzdHIsIGNvbnN0IHN0ZDo6c3RyaW5nICZwcnQpCnsKCXN0ZDo6c2V0PGNoYXI+IHMxKHN0ci5iZWdpbigpLCBzdHIuZW5kKCkpOwoJc3RkOjpzZXQ8Y2hhcj4gczIocHJ0LmJlZ2luKCksIHBydC5lbmQoKSk7CglzdGQ6OnNldDxjaGFyPiByZXN1bHQ7CglzdGQ6OnNldF9pbnRlcnNlY3Rpb24oCgkJczEuYmVnaW4oKSwgczEuZW5kKCksIHMyLmJlZ2luKCksIHMyLmVuZCgpLAoJCXN0ZDo6aW5zZXJ0ZXIocmVzdWx0LCByZXN1bHQuYmVnaW4oKSkpOwoJcmV0dXJuIHJlc3VsdCA9PSBzMjsKfQoKCmludCBtYWluKCkKewoJc3RkOjpzdHJpbmcgc3RyOwoJc3RkOjpzdHJpbmcgcHJ0OwoKCXN0ciA9ICJQZWdhc3VzIjsKCXBydCA9ICJlYXMiOwoKCWlmIChjb250YWluc1BydChzdHIsIHBydCkpCgkJc3RkOjpjb3V0IDw8IHN0ciA8PCAiIGNvbnRhaW5zICIgPDwgcHJ0IDw8IHN0ZDo6ZW5kbDsKCWVsc2UKCQlzdGQ6OmNvdXQgPDwgc3RyIDw8ICIgZG9lcyBub3QgY29udGFpbiAiIDw8IHBydCA8PCBzdGQ6OmVuZGw7CgoJc3RyID0gIlBlZ2FzdXMiOwoJcHJ0ID0gImVhdCI7CgoJaWYgKGNvbnRhaW5zUHJ0KHN0ciwgcHJ0KSkKCQlzdGQ6OmNvdXQgPDwgc3RyIDw8ICIgY29udGFpbnMgIiA8PCBwcnQgPDwgc3RkOjplbmRsOwoJZWxzZQoJCXN0ZDo6Y291dCA8PCBzdHIgPDwgIiBkb2VzIG5vdCBjb250YWluICIgPDwgcHJ0IDw8IHN0ZDo6ZW5kbDsKCglyZXR1cm4gMDsKfQ==