fork download
  1. #include <iostream>
  2. #include <map>
  3. #include <cstring>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int n, i;
  9. cin>>n;
  10. for(i=0;i<n;i++)
  11. {
  12. map<char, int> m;
  13. map<char, int>:: iterator k, l;
  14. int len, j, count=0, sum=0, flag=0;
  15. string str;
  16. cin>>str;
  17. len=str.length();
  18. if(len<4)
  19. {
  20. cout<<"NO\n";
  21. }
  22. else
  23. {
  24. for(j=0;j<len;j++)
  25. {
  26. m[str[j]]+=1;
  27. }
  28. for(k=m.begin();k!=m.end();k++)
  29. {
  30. count++;
  31. sum+=k->second;
  32. if(count>=4)
  33. {
  34. break;
  35. }
  36. }
  37. if(count==1 && sum>=10)
  38. {
  39. cout<<"YES\n";
  40. }
  41. else if(count==2 && sum>=7)
  42. {
  43. for(k=m.begin();k!=m.end();k++)
  44. {
  45. if(k->second==1)
  46. {
  47. l=k;
  48. flag=1;
  49. break;
  50. }
  51. }
  52. if(flag==1)
  53. {
  54. int p=str.find(l->first);
  55. if(p>=len/2)
  56. {
  57. cout<<"YES\n";
  58. }
  59. else
  60. {
  61. cout<<"NO\n";
  62. }
  63. }
  64. else
  65. {
  66. cout<<"YES\n";
  67. }
  68. }
  69. else if(count==3 && sum>=5)
  70. {
  71. cout<<"YES\n";
  72. }
  73. else if(count>=4)
  74. {
  75. cout<<"YES\n";
  76. }
  77. else
  78. {
  79. cout<<"NO\n";
  80. }
  81. }
  82. }
  83. return 0;
  84. }
  85.  
Success #stdin #stdout 0s 3476KB
stdin
1
hello
stdout
YES