fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <set>
  4. #include <algorithm>
  5. #include <iterator>
  6.  
  7. bool containsPrt(const std::string &str, const std::string &prt)
  8. {
  9. std::set<char> s1(str.begin(), str.end());
  10. std::set<char> s2(prt.begin(), prt.end());
  11. std::set<char> result;
  12. std::set_intersection(
  13. s1.begin(), s1.end(), s2.begin(), s2.end(),
  14. std::inserter(result, result.begin()));
  15. return result == s2;
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21. std::string str;
  22. std::string prt;
  23.  
  24. str = "Pegasus";
  25. prt = "eas";
  26.  
  27. if (containsPrt(str, prt))
  28. std::cout << str << " contains " << prt << std::endl;
  29. else
  30. std::cout << str << " does not contain " << prt << std::endl;
  31.  
  32. str = "Pegasus";
  33. prt = "eat";
  34.  
  35. if (containsPrt(str, prt))
  36. std::cout << str << " contains " << prt << std::endl;
  37. else
  38. std::cout << str << " does not contain " << prt << std::endl;
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0.01s 5548KB
stdin
Standard input is empty
stdout
Pegasus contains eas
Pegasus does not contain eat