p489.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <algorithm>
  2. #include <array>
  3. #include <iostream>
  4. #include <map>
  5. #include <utility>
  6. #include <vector>
  7. #include <iomanip>
  8. #include <sstream>
  9. #include <climits>
  10. #include <queue>
  11. #include <list>
  12. #include <set>
  13. #include <string>
  14. using namespace std;
  15. typedef unsigned int nat;
  16. int main()
  17. {
  18. int game_num = 1;
  19. while(true)
  20. {
  21. cin >> game_num;
  22. if(game_num == -1)
  23. break;
  24. string answer, guess;
  25. bool win = false, lose = false;
  26. set<char> correct, correctly_guessed;
  27. nat guesses = 7;
  28. cin >> answer >> guess;
  29. for(auto c : answer)
  30. {
  31. correct.emplace(c);
  32. }
  33. for(auto c : guess)
  34. {
  35. if(answer.find(c) != string::npos)
  36. {
  37. if(correctly_guessed.emplace(c).second && correctly_guessed.size() == correct.size())
  38. {
  39. win = true;
  40. break;
  41. }
  42. }
  43. else if(!(--guesses))
  44. {
  45. lose = true;
  46. break;
  47. }
  48. }
  49. cout << "Round " << game_num << endl;
  50. if(win)
  51. cout << "You win." << endl;
  52. else if(lose)
  53. cout << "You lose." << endl;
  54. else
  55. cout << "You chickened out." << endl;
  56. }
  57. return 0;
  58. }