fork(3) download
  1. <?php
  2.  
  3. /********************************
  4. *** FACEBOOK HACKER CUP -2012 ***
  5. *** QUALIFICATION ROUND ***
  6. *** ALPHABET SOUP PROBLEM ***
  7. *** C0DER: WHIZZZKID ***
  8. *** http://n...content-available-to-author-only...a.in/ ***
  9. ********************************/
  10.  
  11. $ip = fopen('php://stdin', "r"); //input resource can be a file
  12. $op = fopen('php://stdout',"w"); //output resource can be a file
  13. $test_cases = trim(fgets($ip)); //first line
  14. $c = 0;
  15.  
  16. while($c < $test_cases){
  17. $cc = $c+1;
  18. $string = trim(fgets($ip));
  19. $string = str_replace(" ", "", $string);
  20. $chars = str_split($string);
  21. $sorted = array_count_values($chars);
  22. $possible = 0;
  23.  
  24. //minimu requirement check
  25. if(($sorted['H'] > 0) && ($sorted['A'] > 0) && ($sorted['C'] > 1) && ($sorted['K'] > 0) && ($sorted['E'] > 0) && ($sorted['R'] > 0) && ($sorted['U'] > 0) && ($sorted['P'] > 0)){
  26. //starting with H.....
  27. $possible = $sorted['H'];
  28.  
  29. //checking for A after H....
  30. if($sorted['A'] < $possible){
  31. $possible = $sorted['A'];
  32. }
  33.  
  34. //C can be tricky as there are two Cs...
  35. if(($sorted['C'] / 2) < $possible){
  36. $possible = $sorted['C'] / 2;
  37. }
  38.  
  39. //checking for K...
  40. if($sorted['K'] < $possible){
  41. $possible = $sorted['K'];
  42. }
  43.  
  44. //checking for E...
  45. if($sorted['E'] < $possible){
  46. $possible = $sorted['E'];
  47. }
  48.  
  49. //checking for R...
  50. if($sorted['R'] < $possible){
  51. $possible = $sorted['R'];
  52. }
  53.  
  54. //checking for U...
  55. if($sorted['U'] < $possible){
  56. $possible = $sorted['U'];
  57. }
  58.  
  59. //checking for P...
  60. if($sorted['P'] < $possible){
  61. $possible = $sorted['P'];
  62. }
  63. fwrite($op, sprintf("Case #%d: %d\n", $cc, $possible));
  64. }else{
  65. fwrite($op, sprintf("Case #%d: %d\n", $cc, $possible));
  66. }
  67. $c++; //incrementing the while loop
  68. }
  69. ?>
Success #stdin #stdout 0.02s 13112KB
stdin
5
WELCOME TO FACEBOOK HACKERCUP
CUP WITH LABEL HACKERCUP BELONGS TO HACKER
QUICK CUTE BROWN FOX JUMPS OVER THE LAZY DOG
MOVE FAST BE BOLD
HACK THE HACKERCUP
stdout
Case #1: 1
Case #2: 2
Case #3: 1
Case #4: 0
Case #5: 1