Разбор задачи "B. Codeforces World Finals"
Для решения требовалось научиться проверять заданную дату XD.XM.XY на корректность (учитывая число дней в каждом месяце, високосность, и т.д.). После этого решение заключалось просто в переборе всех возможных 6 перестановок трёх чисел (BD,BM,BY), проверке каждой перестановки на корректность, и сравнении полученной даты с датой проведения финала DD.MM.YY. Сравнение можно было делать, просто прибавив 18 к числу лет, и сравнив эти две даты как тройки чисел (год,месяц,день).
Единственный случай, который вызывает вопрос, - это 29-ое февраля. Легко понять, что вышеописанное решение правильно работает в таком понимании, что несчастный, имеющий день рождения 29-го февраля, в 3/4 случаях будет отмечать день рождения 1-го марта. А вот в реальной жизни - интересно, как в таком случае поступают :)