fork download
  1.  
  2. #include <bits/stdc++.h>
  3. #define IOS ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  4. #define deci fixed<<showpoint<<setprecision //<<deci()<<
  5. using namespace std;
  6. vector<int> p,m,s,temp;
  7. string s1[3];
  8. int mx;
  9. int sz1,sz2,sz3;
  10. int main()
  11. { IOS
  12. for(int i=0;i<3;i++)
  13. cin>>s1[i];
  14. if(s1[0]==s1[1] && s1[0]==s1[2]){
  15. cout<<0;
  16. return 0;}
  17. for(int i=0;i<3;i++)
  18. if(s1[i][1]=='p')
  19. p.push_back(s1[i][0]);
  20. else if(s1[i][1]=='s')
  21. s.push_back(s1[i][0]);
  22. else
  23. m.push_back(s1[i][0]);
  24. sz1=p.size();
  25. sz2=m.size();
  26. sz3=s.size();
  27. mx=max(sz1,sz2);
  28. mx=max(mx,sz3);
  29. if(sz1>sz2 && sz1>sz3)
  30. temp=p;
  31. else if(sz2>sz1 && sz2>sz3)
  32. temp=m;
  33. else if(sz3>sz1 && sz3>sz2);
  34. temp=s;
  35. sort(temp.begin(),temp.end());
  36. if(mx==3){
  37. int arr[3];
  38. arr[0]=s1[0][0];
  39. arr[1]=s1[1][0];
  40. arr[2]=s1[2][0];
  41. sort(arr,arr+3);
  42. if(arr[0]+1==arr[1] && arr[1]+1==arr[2]){
  43. cout<<0<<endl;
  44. return 0;}
  45. else if(arr[0]+2==arr[1]||arr[1]+2==arr[2])
  46. cout<<1<<endl;
  47. else
  48. cout<<2<<endl;}
  49. else if(mx==2){
  50. if(abs(temp[0]-temp[1])<=2){
  51. cout<<1<<endl;
  52. return 0;}
  53. else {cout<<2<<endl;
  54. return 0;}
  55. }
  56. else
  57. cout<<2<<endl;
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 15240KB
stdin
3p 9m 2p
stdout
1