fork download
  1. #include <bits/stdc++.h>
  2. #define ve vector
  3. #define pb push_back
  4. using namespace std;
  5.  
  6.  
  7. struct card {
  8. int x;
  9. char s;
  10. };
  11.  
  12. int main() {
  13. //ifstream cin("input.txt");
  14. //ofstream cout("output.txt");
  15.  
  16. card mano[3];
  17. card tav[4];
  18. int setteBello = 0;
  19.  
  20.  
  21. for(int i = 0; i < 3; ++i) {
  22. cin >> mano[i].x >> mano[i].s;
  23. if(mano[i].x == 7 && mano[i].s == 'G') setteBello = 1;
  24. }
  25.  
  26. for(int i = 0; i < 4; ++i) {
  27. cin >> tav[i].x >> tav[i].s;
  28. if(tav[i].x == 7 && tav[i].s == 'G') setteBello = 2;
  29. }
  30.  
  31. if(setteBello == 1) {
  32. for(int i = 0; i < 4; ++i) {
  33. if(tav[i].x == 7) {
  34. cout << "7G 7" << tav[i].s;
  35. return 0;
  36. }
  37. }
  38. }
  39. else if(setteBello == 2) {
  40. for(int i = 0; i < 3; ++i) {
  41. if(mano[i].x == 7) {
  42. cout << "7G 7" << mano[i].s;
  43. return 0;
  44. }
  45. }
  46. }
  47.  
  48. for(int i = 0; i < 3; ++i) {
  49. int sum = 0;
  50. for(int j = 0; j < 4; ++j) {
  51. sum += tav[j].x;
  52. }
  53.  
  54. if(mano[i].x == sum) {
  55. cout << mano[i].x << mano[i].s;
  56. for(int u = 0; u < 4; ++u) cout << ' ' << tav[u].x << tav[u].s;
  57. return 0;
  58. }
  59.  
  60. }
  61.  
  62. for(int i = 0; i < 3; ++i) {
  63. if(mano[i].x == 7) {
  64. for(int j = 0; j < 4; ++j) {
  65. if(tav[j].x == 7) {
  66. cout << mano[i].x << mano[i].s << ' ' << tav[j].x << tav[j].s;
  67. return 0;
  68. }
  69. }
  70. }
  71. }
  72.  
  73. ve<card> ans;
  74.  
  75. for(int t = 0; t < 3; ++t) {
  76.  
  77. for(int i = 1; i < 16; ++i) {
  78. int sum = 0;
  79. ve<card> cr;
  80.  
  81. for(int j = 0; j < 4; ++j) {
  82. if( (1<<j)) {
  83.  
  84. sum += tav[j].x;
  85. cr.pb({tav[j].x, tav[j].s});
  86. }
  87. }
  88.  
  89. if(sum == mano[t].x) {
  90. cr.pb({mano[t].x, mano[t].s});
  91.  
  92. if(cr.size() > ans.size()) {
  93.  
  94. ans.clear();
  95. for(auto h : cr) ans.pb(h);
  96. }
  97. }
  98. }
  99.  
  100. }
  101.  
  102. for(auto i : ans) cout << i.x << i.s << ' ';
  103.  
  104. return 0;
  105. }
Success #stdin #stdout 0.01s 5280KB
stdin
5 G 7 S 8 S
2 G 3 C 4 S 2 C
stdout
Standard output is empty