fork(4) download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include<algorithm>
  5. using namespace std;
  6.  
  7. class Tp
  8. {
  9.  
  10. public:
  11.  
  12. int karty[5];
  13. vector<string>kolory;
  14. string nowy;
  15. int stawka;
  16. long long suma=0;
  17. long long wydane=0;
  18.  
  19. void kasa(int x)
  20. {
  21. stawka*=x;
  22. suma+=stawka;
  23.  
  24. }
  25.  
  26. void wczyt()
  27. {
  28. kolory.clear();
  29. wydane=wydane+stawka;
  30. for(int i=0;i<5;i++)
  31. {
  32.  
  33. cin>>nowy;
  34. if(nowy[0]=='J')karty[i]=11;
  35. else if(nowy[0]=='D')karty[i]=12;
  36. else if(nowy[0]=='K')karty[i]=13;
  37. else if(nowy[0]=='A')karty[i]=14;
  38. else karty[i]=stoi(nowy);
  39.  
  40. wczytk();
  41. }
  42. sort(karty,karty+5);
  43.  
  44. }
  45.  
  46. void wczytk()
  47. {
  48. int k;
  49. string w;
  50. for(int i=0;i<nowy.size();i++)
  51. {
  52. if(nowy[i]=='-'){k=i+1;break;}
  53. }
  54. w=nowy.substr(k);
  55. kolory.push_back(w);
  56. }
  57.  
  58. bool kolor()
  59. {
  60. if((kolory[0]==kolory[1])&&(kolory[0]==kolory[2])&&(kolory[0]==kolory[3])&&(kolory[0]==kolory[4]))return true;
  61. else return false;
  62.  
  63. }
  64.  
  65. void poker_krolewski()
  66. {
  67. if(((karty[0]==10)&&(karty[1]==11)&&(karty[2]==12)&&(karty[3]==13)&&(karty[4]==14))&&(kolor()))
  68. {
  69. kasa(10000);
  70.  
  71.  
  72. }
  73. else poker();
  74. }
  75.  
  76. void poker()
  77. {
  78. if((((karty[0]+1==karty[1])&&(karty[0]+2==karty[2])&&(karty[0]+3==karty[3])&&(karty[0]+4==karty[4]))&&(kolor()))||
  79. ((karty[0]==2)&&(karty[1]==3)&&(karty[2]==4)&&(karty[3]==5)&&(karty[4]==14))&&(kolor()))
  80. {
  81.  
  82. kasa(1000);
  83.  
  84. }
  85. else kareta();
  86. }
  87.  
  88. void kareta()
  89. {
  90. if(((karty[0]==karty[1])&&(karty[0]==karty[2])&&(karty[0]==karty[3])&&(karty[4]!=karty[0]))||
  91. ((karty[1]==karty[2])&&(karty[1]==karty[3])&&(karty[1]==karty[4])&&(karty[0]!=karty[1])))
  92. {
  93. kasa(100);
  94.  
  95. }
  96. else full();
  97. }
  98.  
  99. void full()
  100. {
  101. if(((karty[0]==karty[1])&&(karty[0]==karty[2])&&(karty[3]==karty[4]))||
  102. ((karty[0]==karty[1])&&(karty[2]==karty[3])&&(karty[2]==karty[4])))
  103. {
  104. kasa(30);
  105.  
  106. }
  107. else if(kolor())
  108. {
  109. kasa(30);
  110.  
  111. }
  112. else {
  113. strit();
  114. }
  115. }
  116.  
  117. void strit()
  118. {
  119.  
  120. if(((karty[0]+1==karty[1])&&(karty[0]+2==karty[2])&&(karty[0]+3==karty[3])&&(karty[0]+4==karty[4]))||
  121. ((karty[0]==2)&&(karty[1]==3)&&(karty[2]==4)&&(karty[3]==5)&&(karty[4]==14)))
  122. {
  123. kasa(10);
  124.  
  125. }
  126. else{
  127. trojka();
  128. }
  129. }
  130.  
  131. void trojka()
  132. {
  133. if(((karty[0]==karty[1])&&(karty[0]==karty[2]))||
  134. ((karty[2]==karty[3])&&(karty[2]==karty[4]))||
  135. ((karty[1]==karty[2])&&(karty[1]==karty[3])))
  136. {
  137. kasa(5);
  138.  
  139. }
  140. else{
  141. dwie_pary();
  142. }
  143. }
  144. void dwie_pary()
  145. {
  146. if(((karty[0]==karty[1])&&(karty[2]==karty[3]))||
  147. ((karty[1]==karty[2])&&(karty[3]==karty[4])))
  148. {
  149. kasa(2);
  150. //cout<<"dwie pary"<<endl;
  151. }
  152. else{
  153. para();
  154. }
  155. }
  156. void para()
  157. {
  158. if(((karty[0]==karty[1])&&(karty[0]>10))||((karty[1]==karty[2])&&(karty[1]>10))
  159. ||((karty[2]==karty[3])&&(karty[2]>10))||((karty[3]==karty[4])&&(karty[3]>10)))
  160. {
  161. kasa(1);
  162.  
  163. }
  164.  
  165.  
  166. }
  167. };
  168.  
  169.  
  170. int main()
  171. {
  172. Tp r;
  173. long long wynik;
  174. while(cin>>r.stawka)
  175. {
  176.  
  177. r.wczyt();
  178. r.poker_krolewski();
  179. }
  180. wynik=r.suma-r.wydane;
  181.  
  182. cout<<wynik;
  183.  
  184.  
  185.  
  186.  
  187.  
  188. return 0;
  189. }
  190.  
Success #stdin #stdout 0s 4264KB
stdin
10
10-trefl 10-pik 6-kier 5-trefl A-trefl
6
J-pik 5-trefl J-trefl 10-kier K-kier
2
7-pik 7-kier 7-karo K-pik K-trefl
4
10-pik 9-pik 3-pik 5-pik D-pik
5
7-pik 8-kier J-kier 10-pik 9-karo
8
D-pik K-kier A-kier 5-pik J-pik
4
8-karo 8-trefl 2-karo 2-kier A-trefl
stdout
205