Этот блог посвящён олимпиадному программированию.Если вы хотите узнать, что это такое и с чем его едят - милости просим.Если вы хотите чему-то научиться, что-то дополнить - добро пожаловать!
В данном блоге я буду стараться рассказать про особенности спортивного программирования.Также расскажу о различных типах задач и, конечно, алгоритмах.
В данном блоге я буду стараться рассказать про особенности спортивного программирования.Также расскажу о различных типах задач и, конечно, алгоритмах.
Стандартный подход к решению олимпиадных задач
Запись от ZaMaZaN4iK размещена 26.05.2013 в 19:41
Показов 6886
Комментарии 3
|
В этом посте попытаюсь описать стандартный ход решения олимпиадной задачи. Если задач несколько, прочитайте внимательно все!Если что-то по условию не понятно - прочитайте ещё раз.Если возник вопрос - спросите у жюри. Потом выбирайте задачу, которую будете решать.Внимательно прочитайте условие, прикиньте в уме, как её будете решать, попытайтесь проработать до мелочей.Если так сложно - используйте листик с ручкой.что-то непонятно - прорабатывайте на листике.Также попытайтесь понять, как работает программа на данных Вам некоторых входных тестах(обычно 1 пример дан).Если всё придумали, приступайте к реализации.Сначала сделайте заготовку программы(как заготовку делать, мы разберём чуть позже).И потом уже воплощайте в жизнь придуманный алгоритм. Написав программу,проверьте зрительно её.Не закралась ли где-нибудь ошибка.Потом компилируйте.Запускайте и прогоняйте на примере.Если всё работает - начинайте её тестировать на Ваших тестах.Теперь Вы - тестер, и Ваша задача - завалить программу.Старайтесь это сделать со всей душой.Ищите всякие лазейки, нетривиальные данные, проверяйте работу программы на граничных значениях, проверьте, не возникнет ли деления на 0 и т.д.Если на каком -то тесте программа завалилась - ищите ошибку и исправляйте, а потом прогоняйте снова по всем тестам.Тут будет удобно написать bat-ник, но об этом позже. После того, как прогнали по всем тестам, проверили все мыслимые и немыслимые входные данные, удаляйте всю отладочную информацию из исходного файла, сохраняйте с нужным именем и надейтесь, что звёзды будут к Вам благосклонны. Конечно, это всё работает при условии, что у Вас много времени.Бывают моменты, что времени катастрофически не хватает, и приходится писать shitcode без всякого тестирования и сдавать его.И бывает, что ЭТО проходит на 100 баллов, но такие случаи редки.Был случай, что мне пришла идея решения задачи за 90-95 секунд до окончания контеста, и я успел написать задачу=) Есть олимпиады, где чем быстрее сдашь, тем больше баллов получишь, и там тоже частенько пренебрегают тестированием.Но в то же время за неправильное решение дают штрафные баллы. Но я попытался написать наиболее общий подход к решению задач.Надеюсь, он вам поможет. |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
-
Запись от Evg размещена 15.06.2013 в 17:49
-
Запись от dr.curse размещена 15.06.2013 в 17:59
-
Запись от Evg размещена 17.06.2013 в 14:58


