четвер, 21 січня 2010 р.

SRM 459

От і пройшов черговий SRM, і я знову викарапкався завдяки челенджам…
Найбільша помилка, мабуть, це ресабміт на 250-ку. Черговий доказ того, що спішити не треба. По перше, не треба було спішити, а подумати ще кілька секунд над розв’язком, тоді я б міг уникнути проблем з цією задачею. Чомусь першим мені прийшло в голову перепробувати всі можливі відрізки, хоча достатньо було лише спробувати всі можливі точки. От я і вхопився за першу ідею і почав її реалізовувати. По друге, треба було не спішити і відтестувати задачу на великому тесті ще до саміту, тоді б я уникнув ресабміту. Загалом я втратив 50 балів через те, що спішив. Але все ж, позитивним є те, що я таки відтестував і зробив ресабміт. Бо якби я його не зробив, то втратив би більше ніж 150 балів.
Другу задачу зробив досить нормально. Те, що число в останньому рядку росте швидко помітив відразу, та й ідея розв’язку прийшла досить швидко. Але чомусь писав її дуже довго. 35 хв. це занадто довго для цієї задачі. Думаю, її потрібно робити за 20 хв. Видно, що коли не тренуюся швидкість вже не та. В останніх матчах я вже навіть не відкриваю третю задачу, якщо не збираюся челенджити її. Для розв’язування трьох часу не вистачає ніяк. Треба відновлювати форму…
Так і цього разу, третю задачу я відкрив лише тому, що був один учасник в моїй кімнаті, який її здав. Крім того, в усьому дивізіоні досить мало людей здали цю задачу і її не здав жоден з 6 присутніх на матчі таргетів. Я відразу зрозумів, що треба буде челенджити всліпу і дуже швидко. Для цього, звісно, треба ознайомитися з умовою, щоб скласти якийсь не тривіальний челендж кейс. Тому я відкрив і швиденько переглянув умову, сильно не задумуючись над нею. На щастя, вхідні дані були досить прості – 2 числа, і зрозуміло було, що чим більші ці числа, тим складніший тест (звісно крім тривіального випадку коли n=m). Також переглянув тести з умови. Трохи збентежило те, що в умові був досить великий тест 28x40. Але це все таки не максимальний тест, тому я вирішив всеж спробувати 45х50. На всякий випадок, вирішив ще переставити числа місцями, щоб тест був ще менш схожим на той що в умові і зупинився на 50х45. Тут я діяв за правилом, що треба складати челендж кейс так, щоб він ловив не одну, а відразу кілька потенційних помилок. Особливо це важливо коли челенджиш всліпу, бо тоді, зазвичай, є лише одна спроба і нема можливості вибрати підходящий кейс з кількох.
Може я був найшвидшим, а може більше ніхто крім мене не пробував челенджити 1000-ку RAVEman-а всліпу, і я заробив швидкі 50 балів. Стратегічно я не прогадав зі сліпим челенджом, бо в кінці кінців ніхто так і не здав правильного розв’язку на 1000-ку. За словами RAVEman-а, його розв’язок впав саме через порядок чисел в тесті, бо якби я задав спочатку менше, а потім більше число, як в прикладі з умови, то його розв’язок проходив. Дивно, що один з сабмітів на 1000-ку в дивізіоні навіть протримався до системних тестів. Видно було, що всі крім цього саміту впали під час челенджу, тому закономірно, що і цей треба було челенджити, я б такого шансу не втратив. Правда його пробували челенджити, але якраз тестом таким як в умові, де перше число менше за друге.
Потім я заробив ще 50 балів на якійсь трохи заплутаній і неправильній 250-ці.
Таким чином 100 балів зароблених в челендж-фазі врятували мене в цьому матчі. Я закінчив на 69 позиції в дивізіоні і навіть підняв свій рейтинг на 9 пунктів. Звісно, небагато, але все ж таки зміна позитивна.

Немає коментарів:

Дописати коментар