Я посмотрел, что там происходит — обход в глубину для множества прибрежных точек. Соответственно, если мы дошли до точки xx = xx + around[p][0], то мы уже выбрали следующую вершину. Поэтому скобки тут не причём. А наличием if (nbNeighb >= 2), скорее всего, хотелось "почистить" ближайшие точки, как это сделано для стартовой вершины, чтобы много волн не пересекалось рядом.
История игры берёт своё начало с 2000 года. Поэтому в коде встречаются (особенно библиотечного) всякие архаизмы, которые стараемся подчищать. Но в плюсовом коде это происходит медленнее. Небольшая часть этих ошибок уже известна, и патчи ждут конца FF.
Я согласен, что в данном случае А лучше Б, но Б не является плохим только по этому признаку.
Возможно, вы не правильно поняли меня про некомпетентность, я имел в виду не вас, а то, что всегда будут некомпетентные люди для любого языка, где есть такая возможность.
Ошибки в double free, out of bounds или делении на 0 вполне вероятны по невнимательности. Моя мысль в том, что пока в языке (любом) есть способ прострелить себе ногу (даже самый изощренный), люди будут это делать.
Я не согласен только с вашим определением «плохого языка», оно слишком категорично. Я не люблю называть языки, которые могут как-то приносить пользу, плохими. Возможно, я через чур оптимистичен.
Ещё стоит отметить про «крутость» и «качественный код». Много олимпиадников идут работать в отделы ранжирования поисковых результатов. Я видел тот код и могу точно сказать — я бы лучше пошёл работать на завод, чем в отдел ранжирования.
Согласен на счёт качества, стиля и поддерживаемости кода, многие просто пишут на «сейчас», а не с учётом того, что потом этот код будет кем-то ещё поддерживаться. Но, мне кажется, научить олимпиадника писать нормальный код проще (или быстрее), чем научить обычного программиста понимать сложные алгоритмы.
Касательно самой темы, мне кажется, главный профит в том, что мозг просто тренируется, это как зарядка для него. Мне интересно решить пару небольших олимпиадных задач перед тем, как заняться чем-то существенно продолжительным: проектированием или написанием какого-либо кода для проектов.
Information
Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Я посмотрел, что там происходит — обход в глубину для множества прибрежных точек. Соответственно, если мы дошли до точки
xx = xx + around[p][0]
, то мы уже выбрали следующую вершину. Поэтому скобки тут не причём. А наличиемif (nbNeighb >= 2)
, скорее всего, хотелось "почистить" ближайшие точки, как это сделано для стартовой вершины, чтобы много волн не пересекалось рядом.Согласен, в частности если каждый кадр не создаётся по туче
shared_ptr
(что было бы странно), а только используется, то разницу заметить сложно.Возможно, вы не правильно поняли меня про некомпетентность, я имел в виду не вас, а то, что всегда будут некомпетентные люди для любого языка, где есть такая возможность.
Я не согласен только с вашим определением «плохого языка», оно слишком категорично. Я не люблю называть языки, которые могут как-то приносить пользу, плохими. Возможно, я через чур оптимистичен.
До тех пор, пока в Rust присутствует
unsafe
блок, комментарий про некомпетентных программистов является справедливым.В среднем, конечно, да. Но при должном опыте сделать графику AAA качества дома можно. А вот качественно записать звук будет дорого.
Согласен на счёт качества, стиля и поддерживаемости кода, многие просто пишут на «сейчас», а не с учётом того, что потом этот код будет кем-то ещё поддерживаться. Но, мне кажется, научить олимпиадника писать нормальный код проще (или быстрее), чем научить обычного программиста понимать сложные алгоритмы.
Касательно самой темы, мне кажется, главный профит в том, что мозг просто тренируется, это как зарядка для него. Мне интересно решить пару небольших олимпиадных задач перед тем, как заняться чем-то существенно продолжительным: проектированием или написанием какого-либо кода для проектов.