Совершенный код

Jun 09, 2009 00:37

Вчера написал, пожалуй, самую ужасную программу в своей жизни, когда решал задачу. Надо было всего лишь найти путь кубика между двумя клетками, минимизировав сумму чисел на нижней грани кубика. Задача далеко не самая сложная, да и код не такой уж большой (программа получилась ровно на 200 строк), но такой ереси, насквозь пропитанной STL я еще не ( Read more... )

бред, программирование, stl

Leave a comment

Comments 10

dfyz June 9 2009, 04:06:04 UTC
Я особо в смысл не вникал, но ты как-то очень cтранно используешь std::make_pair(). ;) Она нужна, чтобы явно не указывать аргументы шаблона и писать make_pair(cube.bottom + 1, make_pair(make_pair(-1, -1), tmp));.

Reply

dark_lamer June 9 2009, 19:05:06 UTC
Я почему-то думал, что можно опускать аргументы только для :-)
Спасибо, учту! + теперь знаю, что можно использовать просто конструктор pair (val1, val2) с указанием аргументов шаблона.

Reply


dukovinka June 9 2009, 06:41:46 UTC
Блин, Лёх, про беременных женщин мог бы в заголовке написать, а то, я так чувствую, твой будущий ребёнок сейчас тихонько офигевает, от того, насколько ламер его отец, и вообще, в его возрасте ещё рано знать, что такое "Дейкстра"!!!
...я ж не могу не читать, раз уже начала...
//дальше первых двух пунктов моё блондинистое осознание не пошло, но я уже восхитилась! так только ты умеешь)(ну, может, ещё твой кот, которому ты всё время комнату проигрываешь)

Reply


(The comment has been removed)

dark_lamer June 9 2009, 18:57:59 UTC
Ага. Возможно еще не помешал бы typedef.

Reply


justdasha June 9 2009, 20:01:23 UTC
Не считаю себя человеком со слабой психикой, скорее наоборот...

Reply


dagon1 June 10 2009, 11:40:32 UTC
тоже написал эту задачу, почти без использования stl(ибо знаю плохо).код поменьше, 135 строк ;) правда памяти жрет больше

Reply

dark_lamer June 10 2009, 17:44:06 UTC
Ну там ограничения в задаче маленькие, главное - написать быстро. Еще 1301 очень похожа, её уже по-нормальному написал.
А ты как делал? Дейкстру запускал?

Reply

dagon1 June 10 2009, 17:50:23 UTC
Дейкстру, а как еще?

Reply

dark_lamer June 10 2009, 17:57:23 UTC
Ну я писал крайне криво, в итоге получился поиск в ширину с использованием std::queue. Если после обновления путей получилось, что до какой-то вершины расстояние уменьшилось - добавлял её в очередь. Понятно, что одна и та же вершина могла оказаться в очереди много-много раз. Как можно оценить сложность этого алгоритма? :-)

Reply


Leave a comment

Up