Що є topcoder algorithm

Привіт, я dAFTc0d3r. Я хочу трохи розповісти про те, як брати участь в змаганнях TopCoder Algorithm.

Що ж таке TopCoder в принципі?
TopCoder is a company which administers contests in computer programming (Wiki).
Так, TopCoder проводить змагання, причому абсолютно різних видів: Algorithms, Design, Development, Marathon Matches, Studio, Architecture, Assembly, Testing, Bug Races.

Друга проблема - реєстрація. Хоча, в принципі, вона цілком вирішувана за допомогою хорошого перекладача.

Коли ми вирішили перші три проблеми, запустили арену, увійшли під своїм користувачем, ми можемо потренуватися. Це буде дуже корисним.
Нехай наша мова - C ++. Відкриємо одну з тренувальних кімнат: Practice Rooms -> SRMs -> 609-624 -> 614 - SRM 448 DIV 2.

Що є topcoder algorithm

Далі ми потрапляємо у вікно кімнати змагань.
Вибираємо завдання, нехай це буде 250я завдання

Що є topcoder algorithm

Відкривається вікно Coding Phase (аа! Скільки вікон!). Зверху праворуч вибираємо плагін і мову. В поле Problem Statement знаходиться умову задачі. Розуміємо умову задачі, Новомосковський Defenition (в якому вигляді потрібно відправити рішення), обов'язково Новомосковськ Constraints - обмеження, і дивимося Examples.

Що є topcoder algorithm

Ми повинні порахувати суму карт для гри Блек Джек. Карта задається двома символами - рангом і мастю. Від нас вимагають написати клас TheBlackJackDivTwo, що містить public метод int score (vector cards).

Намагаємося його скомпілювати. Успішно.
Далі перевіряємо свій код на тестах з умови (Test). Так само можна ввести свій тест, який буде відповідати обмеженням, і побачити, який результат видала програма.
Завершуємо роботу з завданням натисканням на кнопку Submit і закриттям вікна Coding Phase.

Так як це кімната для тренувань - рішення можна відразу протестувати, вибравши Practice Options -> Run System Test.
При правильному вирішенні цифри 250 загоряться зеленим, при неправильному можна буде побачити тест, на якому програма відпрацювала некоректно.

Тепер поговоримо про формат змагань TopCoder Algorithm.
Змагання називається SRM - Single Round Match. Розклад SRMов можна побачити тут. або, наприклад, використовуючи різні готові календарі (приклад). Матч триває 1 годину 35 хвилин. На вирішення завдань (Coding Phase) дається 1 годину і 15 хвилин, 5 хвилин (Intermission) дається на перепочинок і підготовку тестів для третьої частини - Challenging Phase.

Перед початком змагань учасники розподіляються на кімнати, в кожній кімнаті присутні не більше 20 осіб. Під час Фази Челлендж вам дозволяється дивитися код інших учасників твоєї кімнати, який вони відправили по кожній із завдань. Якщо ви бачите, що рішення будь-якого учасника не є повним, ви можете спробувати обламати його програму, підібравши такий тест, на якому рішення або видасть невірний результат, або не завершить свою роботу коректно або не вкладеться за часом.

За успішну спробу челенджу вам нараховується 50 додаткових очок, за неуспішну - знімається 25. Челлендж з негативним кількістю очок не можна!

На контест пропонується три завдання, які зазвичай коштують 250, 500 і 1000 очок. Окуляри, які ви отримаєте за завдання, визначаються різницею часу відкриття завдання і посилки її (Submit). Існує можливість повторної відправки завдання - в цьому випадку час перераховується, щодо часу останньої посилки, і знімається 10% очок за кожну повторну посилку, але ви отримаєте як мінімум 30% очок завдання.

Після Challenging Phase відбувається System Testing Phase, де все витримали челлендж рішення тестуються на заздалегідь приготовлених тестах + тестах, які успішно упустили чужі рішення в попередній фазі. Якщо завдання було вирішено вірно - ви зберігаєте свої окуляри по ній, в іншому випадку ви отримуєте 0 очок за неї.

Потім всі учасники упорядковано відповідно до кількості очок, набраних за контест, і йде перерахування загального рейтингу учасників. Всі учасники розбиті на 2 дивізіону: 1200 і більше очок рейтингу - I Дивізіон, менше 1200 - другий.


Щиро ваш, поки ще жоолтий,

Завжди дуже нешанобливо ставився до людей, які "придумують" такі геніальні плани.
Будь-яка система відмінно працює, поки не з'являються такі молодці. Коли вони з'являються, системі доводиться змінюватися, щоб їх карати, і ця система втрачає зручність для тих, хто грає за правилами, оскільки їм тепер так чи інакше доводиться робити щось, щоб показати, що вони не чітят.

Загальний випадок, можливо не зовсім застосовний до арени.

Мені здається, Ght керувався не спрагою накрутки рейтингу, а бажанням розібратися в тому, як працює система =)
Тобто, він hacker, а не cracker =)

Аффтар, напиши, будь ласка, статтю, а новачки, включаючи мене, тебе Заплюсье.

Поки немає статті, у мене є питання. Писав на TC штук 10 матчів в Kawigi Edit - незручно, що немає дебага ну і підкреслень помилок прям по ходу кодинга, так що вирішив перейти на зв'язку з трьох полігонів.

Поясніть, будь ласка, детальніше стадію після установки плагінів - "18) Enjoy Coding." явно недостатньо.

Схожі статті