среда, 29 октября 2008 г.

много интересного за последние дни...

Мартин Флауэр рассказывает об Oslo.
Саттер Милл представил очередной драфт С++
На Microsoft PDC была представлена Windows 7.
Марк Руссинович на Channel 9 рассказывает о внутренностях Windows 7 (если кому интересны только внешние рюшечки - об этом тоже много новостей)

Anders Hejlsberg (папа турбопаскаля, дельфинов и шарпа) рассказывает о C# 4.0 (Dymanic! Dymanic! Dymanic! - вот она новая струя. Ну и заодно параметры по умолчанию добавили, не прошло и 10 лет. Ко- и Контр Вариантность. Куча приятных плюшек при работе с COm. И в перспективе (C# 5.0) метапрограммирование.)

четверг, 23 октября 2008 г.

Google Treasure Hunt 2008

Смотреть тут...
Вот...хотелось задачки порешать.
После ProjectEuler оказалось - ни о чем. Самое сложное - ждать 10 минут проверки решения...

Разве что задачка про робота неплоха, требует немного подумать, вполне может подойти для интервью.
Вот решение на питоне :

def google_test_robot():

    d={}

    d[(0,0)]=1

    def helper_(a,b):

        if a<0 or b<0:

            return 0;

        if not d.has_key((a,b)):

            d[(a,b)] = helper_(a-1,b)+helper_(a,b-1)

        return d[(a,b)]

    print helper_(41,44)



несмотря на "меморизацию" :) решение далеко не самое оптимальное как с точки зрения используемой памяти так и с точки зрения скорости. Правильнее было бы идти по диагонали...но так писать дольше.
И уж совсем правильнее было бы использовать так называемые Catalan numbers (ну это если повезло и поле квадратное)