1. Список говнокодов пользователя xytop

    Всего: 1

  2. PHP / Говнокод #3315

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    <?
    error_reporting(0);
    $b=array("Калининград","Вологда","Далматово","Дмитров","Архангельск","Владивосток","Краков");
    
    //конкурсный код:
    //begin
    for($i=0;$i<7;$i++){$s.="for(\$z[$i]=0;\$z[$i]<7;\$z[$i]++)";$n.="\$z[$i],";$q.="\$b[\$z[$i]],";}$f='for($i=0;$i<7;$i++){$l[$i]=strlen($b[$i])-1;$c[$i]=strtolower($b[$i]);for($j=0;$j<7;$j++)if($i!=$j&&$b[$i][$l[$i]]==strtolower($b[$j][0]))$e[$i]=true;}'.$s.'{$y=array('.$n.');sort($y);if($y==array(0,1,2,3,4,5,6)){$d=true;for($i=0;$i<6;$i++)if($d&&$c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0]&&($e[$z[$i]]||$c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))$d=!$d;if($d)$a=array('.$q.');}}';eval($f);
    //end
    print_r($a);
    
    
    
    echo "<br />";
    echo "<br />";
    
    
    
    //тоже самое в нормальном виде:
    
    for($i=0;$i<7;$i++)
    {
      $l[$i]=strlen($b[$i])-1;
      $c[$i]=strtolower($b[$i]);
      for($j=0;$j<7;$j++)  
      {
        if($i!=$j && $b[$i][$l[$i]]==strtolower($b[$j][0]))
        {
          $ecantUsePrelast[$i] = true;
        }
      }
    };
     
      for($z[0]=0;$z[0]<7;$z[0]++)
        for($z[1]=0;$z[1]<7;$z[1]++)
          for($z[2]=0;$z[2]<7;$z[2]++)
            for($z[3]=0;$z[3]<7;$z[3]++)
              for($z[4]=0;$z[4]<7;$z[4]++)
                for($z[5]=0;$z[5]<7;$z[5]++)
                  for($z[6]=0;$z[6]<7;$z[6]++)
                  {
                    $y=array($z[6],$z[5],$z[4],$z[3],$z[2],$z[1],$z[0]);
                    sort($y);
                    if($y==array(0,1,2,3,4,5,6))
                    {
                      $dcorrect=true;
                      for($i=0;$i<6;$i++)                    
                        if($dcorrect && $c[$z[$i]][$l[$z[$i]]]!=$c[$z[$i+1]][0] && ($ecantUsePrelast[$z[$i]] || $c[$z[$i]][$l[$z[$i]]-1]!=$c[$z[$i+1]][0]))
                          $dcorrect=!$dcorrect;
                      if($dcorrect)
                      {
                        $a=array($b[$z[0]],$b[$z[1]],$b[$z[2]],$b[$z[3]],$b[$z[4]],$b[$z[5]],$b[$z[6]]);
                      }
                    }
                  }    
           
     
    print_r($a);
    
    ?>

    Чтобы немного развеять "академическую" атмосферу на сайте, мы решили провести конкурс в стиле Code Golf (написать программное решение задачи, использовав минимальное количество символов)

    Задание: написать программу для игры «в города».

    На вход подается массив вида

    [Калининград, Вологда, Алматы, Дмитров, Архангельск, Тобольск, Краков]

    На выходе.

    [Архангельск, Краков, Вологда, Алматы , Тобольск, Калининград, Дмитров]

    xytop, 26 Мая 2010

    Комментарии (58)