Много лет назад я обожал играть в гольф. Не в обычный — в Perl Golf: это соревнование, где задачу нужно решить минимальным числом символов. На днях наткнулся на свою же статью многолетней давности, где я проводил такой турнир, и решил подкинуть ту задачу современным моделям.
Условия:
Найти максимально длинное кольцо, которое можно составить из предложенных костяшек, или вывести 0, если закольцевать их нельзя.
Вход: строка из пар чисел от 0 до 6 через пробел. Каждая пара — костяшка.
Пример: 01 11 12 22 31 32
Данные подаются на STDIN: cat data | golf.pl
Пример ответа: 11 12 22 23 31
Абсолютно лучшее решение выдал ChatGPT 5.6 Sol, 102 символа:
#!/usr/bin/perl -ap
sub f{my$e=pop;@b=@_ if$e==$s&&@_>@b;s/$e//?$_=$e.f(@_,$e.$_,chop):0for@F;$e}f$s=$_%10for@F;$_="@b"||0
Если понимаете, что тут написано, — с меня пиво.