Да, все именно так. Бонус считается по формуле «базовая зарплата» X «множитель компании» X «персональный множитель», множители варьируются от 0 до 150%. Выплачиваются раз в пол года сразу после peer review, на котором определяется персональный множитель.
PS. Почему именно Amazon? На glassdoor ничего сверхестественного не вижу :)
В ветке ниже получается набросок алгоритма основанного на движениях (достаточно проверить O(n) направлений переноса, O(n^2) центров поворота и O(n^2) прямых симметрии, проверку кажется можно сделать за O(n*log n)).
Для симметрий работает аналогичный прием: будем рассматривать только прямые проходящие через середины отрезков между одинаковыми углами и отражающие углы друг в друга (с точностью до переноса) и проходящие через пары центров.
Дополнительное условие: на внешней границе должны находиться только эти две вершины. Случай когда есть другие вершины рассматривается через попарные пересечения (видимо нужно брать все серединные перпендикуляры, а не только между равными углами).
Утверждение: если центр искомого поворота находится на серединном перпендикуляре двух вершин то углы при этих вершин должны быть равны и поворот должен переводить один угол в другой.
Таким образом, достаточно рассмотреть максимум по одной точке на серединных перпендикулярах между парами равных углов + их попарные пересечения.
Его можно расширить и на случай несвязных кусков, правда сложность будет расти экспоненциально от их количества. Ваш метод тоже фундаментально ограничен — он не обобщается даже на произвольные выпуклые многоугольники (не говоря уж о фигурах с гладкими границами).
Они рассматривают многоугольник как строку, описывающую его границу, и исследуют какие строки могут получиться если состыковать два одинаковых многоугольника.
С чего вы взяли что олимпиадник будет писать жуткий код? Жуткий код = невозможность его отладить и невозможность объяснить его сокоманднику (если олимпиадник участвует в ACM контестах).
Да, в своем комментарии я имел ввиду именно отличных инженеров.
Кстати, хороший спортивный программист должен обладать и предсказуемостью — довольно большой процент задач на соревнованиях требует быстро и безбажно «собрать» из стандартных алгоритмов решение.
> Не в обиду, но мое личное мнение — что спортивное программирование хорошо лишь тем, что поддерживает «хакерский» стиль мышления, который позволяет решать различные задачи нестандартными методами + знание, как это устроено «под капотом».
И это именно тот набор навыков, который требуется от хорошего инженера, не так ли?
PS. Почему именно Amazon? На glassdoor ничего сверхестественного не вижу :)
Таким образом, достаточно рассмотреть максимум по одной точке на серединных перпендикулярах между парами равных углов + их попарные пересечения.
Иначе будет порождаться строка «a».
Кстати, хороший спортивный программист должен обладать и предсказуемостью — довольно большой процент задач на соревнованиях требует быстро и безбажно «собрать» из стандартных алгоритмов решение.
И это именно тот набор навыков, который требуется от хорошего инженера, не так ли?