Автор Гілка: Google Code Jam  (Прочитано 5165 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3744
  • Карма: +9/-0
  • Програміст
Re: Google Code Jam
« Відповідей #15 : 2011-05-22 17:42:41 »
На сайті все є — і код, і вхідні файли, і перевірка результату.

Мені ліньки було чекати до кінця роботи скрипта. До 47 тесту він добрався десь хв. за 30-ть. Тобто всі 100 він мав опрацювати за приблизно годину. В десять раз швидшу мову програмування і я би вписався у 8 хв. :-(

Я подивився код першого по списку програміста — там абсолютно індентичний алгоритм, але на Сі.

Теоретично, можна було б замінити цикл математичними формулами і if-ами, але я би ті формули відлагоджував би ще годину.

PS.

Також можна було б провести оптимізацію — замінити for на sort -rn | uniq -c,  але скрипт на маленькому наборі відпрацював 100 тестів за менше ніж 8 секунд, так що я вирішив що оптимізація не потрібна. :-(
« Змінено: 2011-05-22 17:48:33 від lvm »
[Fedora Linux]

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3744
  • Карма: +9/-0
  • Програміст
Re: Google Code Jam
« Відповідей #16 : 2011-05-22 19:40:39 »
Результат на великому наборі — неправильний. Так що я не пройшов би в будь якому випадку.

Заміна циклу на sort -rn | uniq -c значного приросту швидкодії не дала.  :-/
[Fedora Linux]