У ACM-ICPC и Google CodeJam разные временные ограничения для C ++ и Java?


Все мы знаем, что время выполнения Java занимает несколько больше времени, чем C / C ++. Так являются ли ограничения одинаковыми для каждого языка или разными?

Если это так, разве это не даст дополнительное преимущество языку программирования, а не кодированию?

2

Решение

ВикипедияПоскольку Java-решения запускаются медленнее, чем решения на других скомпилированных языках, для китайских университетских онлайн-судей весьма распространено использование больших временных ограничений для решений Java, чтобы быть справедливыми по отношению к участникам, использующим Java.

Но, как говорит финалист ACM-ICPC World (Вот): ограничения по времени установлены таким образом, чтобы решение, работающее во времени, могло быть написано даже на более медленных языках.

По моему опыту это в основном вопрос порядка и сложности. Например, когда задача считается решенной в максимуме O (n ^ 2), ограничение по времени и, конечно, входные данные задачи задаются таким образом, что вы можете принять ее самым медленным языком в O (n ^ 2) и вы получите «Time Limit» с самым быстрым языком в O (n ^ 3)

0

Другие решения

У них обоих одинаковый срок. Как они объяснили при посещении регионального ACM, они установили ограничение по времени таким образом, чтобы его можно было разрешить на всех разрешенных языках, даже с добавлением Python в версию ACM ICPC этого года ограничение по времени будет одинаковым для каждого вопрос, хотя Python сравнительно медленнее, чем C ++ и Java.

Попробуйте найти лучший алгоритм для решения и использовать лучшие практики кодирования, у вас не будет проблем с ограничением времени в зависимости от использования вашего языка.

Всего наилучшего

0