Size: a a a

2020 December 11

A

Aragaer in Haskell Start
ну хотя в скомпиленном виде 3.5 секунды
источник

AP

Aleksei (astynax) Pi... in Haskell Start
У меня 2.3
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Сеты, мапы, без массивов
источник

A

Aragaer in Haskell Start
это обе части в сумме?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
В сумме
источник

A

Aragaer in Haskell Start
ясно. Ну мапы я себе представляю как использовать, а как сеты? Сет координат пустых стульев и сет координат занятых?
источник

A

Aragaer in Haskell Start
да, можно использовать в качестве координат Complex Int, но вроде не сильно большая разница
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Сеты — для текущего состояния. Мап хранит предвычисленные списки соседей
источник

A

Aragaer in Haskell Start
а, я думал про предвычисленные списки соседей - для второй части это актуальнее - но делать не стал. Текущее состояние у меня массив
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Так за исключением того, как выбираются соседи, логика в обоих случаях та же.
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Обобщить легко
источник

A

Aragaer in Haskell Start
да, просто во второй части перебор соседей это более трудоемкая операция, чем в первой
источник

AP

Aleksei (astynax) Pi... in Haskell Start
У меня — нет. Дольше прогревать списки соседей, это да.
источник

A

Aragaer in Haskell Start
попробую переписать через списки соседей, сравню скорость
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Дольше устаканивается состояние. Но это специально так сделано
источник

A

Aragaer in Haskell Start
кстати, дурацкий способ сделать две части еще более похожими - в первой части считать "себя" своим соседом
источник

A

Aragaer in Haskell Start
точнее у меня это скорее сайдэффект реализации
источник

AP

Aleksei (astynax) Pi... in Haskell Start
У меня тайпкласс и стратегии, выбираемые через typeapp
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Стратегия выбирает только терпимость и то, как прогреть список соседей
источник

A

Aragaer in Haskell Start
ну вот если в первой части считать себя своим соседом, то в обеих частях терпимость одинаковая. Но это совпадение
источник