Archive for January, 2010

Правила Google

Сегодня приснилось, что Google прислал на домашний адрес правила (пользовательские соглашения и т.д.) на трех грампластинках :-D

В большом белом квадратном конверте с надписью “We are watching you”.

К чему бы это?

Power programming

Power programming” — интересная статья — сравнение подходов к решению на различных языках программирования на примере задачи Round 1B 2009 Google Code Jam Decision Tree.

Сравниваются решения на Python, Lisp, Perl и C++.

О книгах “для чайников”

Есть такая серия книг — “Для чайников” (“For Dummies”, желтая с черным обложка).

Помню, когда учился в институте, отношение к книгам этой серии было скептическое, мягко говоря. Обычно книги “Для чайников” не рассматривались как вариант купить/почитать. Даже зазорным чем-то считалось.

Заставил меня поменять отношение один случай. На втором или третьем курсе института (примерно 1999 год) был у нас предмет, не помню название, но связанный с C++. Вела его очень нервная и довольно глупая тетенька.

Задала эта тетенька нам делать лабораторные работы: реализовывать на C++ всякие там списки и очереди, с дополнительными методами классов и т.д. По вариантам — у каждого задание немного отличалось. Пыталась объяснить, как это надо делать, но уж очень путано и непонятно.

C++ я почти не знал, доступа к Интернету у меня тогда практически не было, так что я пошел в институтскую библиотеку за книгами. Но почти все книги по C++ были на руках, осталась только “C++ для чайников”, которую я с неохотой взял.

Как же мне понравилась эта книга! Все просто и понятно, но на нормальном уровне, без идиотизмов и разжевывания очевидного. И по этой книге я сделал все свои задания — но не так, как объясняла преподаватель (сильно по-другому, хотя сейчас я не помню и не понимаю, что там могло сильно отличаться).

Принес сдавать лабораторные работы (их надо было “защищать”, рассказывать, как что работает и т.д.) Преподаватель долго не могла понять, я объяснял. В итоге объяснил, зачли мне все работы. А потом еще за это и “пять” в следующем семестре автоматом поставили :-D

Но самый момент моего триумфа был, когда тетенька-преподаватель спросила, где же я такое вычитал. На что я гордо ответил: “В книге ‘C++ для чайников’”.

Вот такой вот у нас уровень образования. А книги “Для чайников” — нормальные книги.

TopCoder SRM 459

Сегодня прошел TopCoder Single Round Match 459.

В первой задаче я не помнил, как узнать размеры вписанного в окружность квадрата. Сходу полез искать в Google, не дочитав условие до конца — а там в примечаниях были все формулы… В общем, решал дольше, чем надо.

Во второй задаче сделал сложнее, чем надо было, перепутал “i” и “j”, потратил много времени на отладку. Сдал за семь минут до конца.

На третью задачу времени не хватило.

В итоге — +13 баллов к рейтингу, и я все еще во втором дивизионе.

TopCoder Member SRM 458

Сегодня прошел TopCoder Member Single Round Match 458.

Первую задачу я решал довольно долго — она была довольно сложной для 250-балльной задачи второго дивизиона. К тому же в одном месте перепутал “j” и “i”, несколько минут не мог найти ошибку.

Вторую задачу не успел отправить — вроде бы все правильно, но один тест не проходит. Через две минуты после завершения фазы кодирования нашел, где надо заменить “int” на “double” — с этим исправлением программа прошла все тесты. Двух минут не хватило…

В общем, задачи были сложнее, чем обычно. В моей комнате половина участников в итоге набрали ноль и меньше баллов. Так что я даже с одной медленно решенной задачей получил +17 баллов к рейтингу.