powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Каким алгоритмом можно заполнить все озёра рельефа водой?
261 сообщений из 261, показаны все 11 страниц
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042270
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На собеседовании дали задачку, я её решил, отправил, программеры посмотрели и отказали.
Поэтому думаю, что можно публиковать всё, кроме явок и паролей.
Задачка была такая: дана матрица высот
9,9,9,9,9,9,9
9,1,1,5,1,1,3
9,9,9,9,9,9,9
каждый член матрицы выражает высоту земли в этой точке. Т.е получается такой рельеф. За краями матрицы - минус бесконечность. Ноль в качестве значения одного из членов матрицы - тоже минус бесконечность, дырка т.е.

Необходимо выдать результат о том, где какие озёра образуются после длительного дождя или после опускания этой конструкции в море и подёма из него. Вода может переливаться с каждой клетки только в 4 направлениях.
Результат пусть будет, скажем, в абсолютной высоте уровня воды в данной точке. В случае приведённого примера:

0,0,0,0,0,0,0
0,5,5,0,3,3,0
0,0,0,0,0,0,0

Есть ли готовый алгоритм для этого?
Мной придуманный заключается вот в чём:
1. Организуем "структуру данных", в которой каждый элемент может понимать, кто его соседи, касается ли он дырок, краёв. Т.е. чтобы можно было взять любого и определить, кто у него сверху, снизу, справа, слева и т.п.
2. Одновременно с этим есть список, содержащий указатели на все эти элементы. Используется для обхода.
3. Берём первый элемент из списка, запускаем с него попытку "поиска дна". Его высота = N - это максимум уровня земли в этой точке, либо уровня воды в ней (если она была туда залита ранее).
Логика в том, чтобы найти множество элементов, каждый из которых либо:
- высота=N, связан отношением соседства с другими равным себе по высоте.
- высота=N либо связан отношением соседства с элементом, выше его.
4. Если такое множество найдено, то выглядеть оно будет как плоский кусок поверхности, со всех сторон ограниченный элементами выше него, т.е. это будет место, куда можно залить воды. Основной вопрос - сколько.
5. Присвоить всем элементам из этого множества уровень воды равный минимальному ограничивающему это "дно" элементу. Т.е. так мы зальём это дно водой до уровня, откуда ей некуда убежать.
6. Переход на 3, только начать с того же самого элемента.

Смысл в том, что мы нащупываем любое дно, хоть мелкую впадинку и дальше пытаемся из неё вырасти. На каждой новой итерации мы будем иметь дело с новым уровнем дна, который будет неубывающий, если мы имеем дело с глубоким озером, которое "по ступенькам" поднимается. Будет новая итерация с разведкой границ нового дна на каждой ступеньке.

Если в очередной раз целое множество составить не удалось, значит встречена дырка, край рельефа, либо элемент ниже дна, который не позволит налить воды больше - она утечёт вниз.

Да, в рельефе может иметься множество локальных озёр, которые все ограничены чем то выше них, ну типа:

на картинке дно такое, что в нём может быть несколько локальных озёр, он все они погребены под общим окианом, так что всё сводится к тому, что озеро одно, просто дно у него инеетрсное.

Алгоритм мой "осознаёт" такую ситуацию в момент строительства последнего локального дна (из которого ничто никуда не выливается). Ибо во время строительства последнего озера наступает итеррация, когда уровень воды в этом озеер ровняется со всеми остальными или с группой других озёр и тогда "трассировщик" находит более широкое множество с более широкими краями и заливает уже его, погребая всё больше озёр под собой. Так он захватывает всё что можно на последнем ходе.

Недостаток - повторные прохождения по нескольку раз одной и той же клетки в ходе подьёма уровня воды по ступенькам, порой даже повторный проход целых озёр.

Т.е. такая вот штука инкрементирующая, динамический алгоритм наверное это называется.

Ничего лучше я пока не придумал. Конечно, есть вопросы кеширования целых озёр, как-то можно упростить их слияние.

Сразу строить всё озеро, анализируя одновременно и спуски и подьёмы я не смог осилить, мне показалось, что очень тяжело построить такой реально работающий алгоритм. Более того, он больше похож на попытку оптимизировать частный случай, когда очень сложное дно, а озеро одно. Но например в моём простом примере сверху, озера реально два, одно с более высоким уровнем воды, второе с более низким, ограничены стенкой (на водопад каскадный картинка похожа).

Есть возможен алгоритм с трассировкой каплей, т.е. ты капаешь куда-либо, трассируешь каплю и смотришь, изменилось ли состояние всей системы после этого, если да - капаешь ещё раз, если нет - валим капать в другое место. Тоже будет работать. Но будет ли быстрее моей - наверное иногда да, но если представить резкую глубокую впадину, то у меня она зальётся до краёв моментально, а там будет капать очень долго.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042276
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
каково количество значений высот?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042290
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Количество значений высот - от 0 до скольки угодно. От типа данных реализация зависеть не должна.
Самих клеток сколько - сколько угодно, лишь бы это была матрица (NxM), без всяких рваных краёв, хотя их можно реализовать нулями.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042296
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, меня интересует не "до скольки", а "сколько значений ?"
в приведенном примере 4 значения
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042360
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да это "детская" задача
В ней ни ума ни соли ничего нет
Просто надо строго и ясно понять что именно ты ищещь.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042362
уральский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. ищешь все стоки при помощи dfs/bfs (что больше нравится) для каждой клетки;
2. если стоков, не являющихся дырками, не найдено, то гоуту 5;
3. стоки, не являющиеся дырками, помечаешь как озерные клетки и устанавливаешь им новое значение высоты, равное минимальной высоте среди 4ех соседей (которые гарантированно не дырки);
4. гоуту 1.
5. в множестве озерных клеток выделить связные подмножества; тот же dfs.

Уверен, хотели именно это, простое знание базовых алгоритмов поиска на графе (dfs/bfs).
Интересно, где такое спрашивают? В горле уже сидят все эти select CustomerName from Shipments .....
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042363
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
напрмиер http://www.spoj.pl/problems/WATER/
Я например даже не помню как я это делал
6th Polish Olympiad in Informatics, stage 3 ------- это вообще-то очень не для средних умов
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042433
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://pajerovaliero.livejournal.com/803.html
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042448
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88http://pajerovaliero.livejournal.com/803.html
глянул и чё? в чем трабла? У этой задачи нет алгоритма в общепринятом смысле
В самой задаче само решение и сидит
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042507
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, всё, вопрос закрыт, надо было с краёв херачить, было бы в сто раз быстрее... чёрт ) алгоритм с "крайний наименьший" )
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042514
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88блин, всё, вопрос закрыт, надо было с краёв херачить, было бы в сто раз быстрее... чёрт ) алгоритм с "крайний наименьший" )
ты главного не сказал: те пиплы (которые "тестировали" тебя) были правы или нет?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042515
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> вопрос закрыт,

нифига, завтра разберем по полной программе
Я например тоже не эффективно сделал, ; как всегда : сверху вниз
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042518
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183nu88блин, всё, вопрос закрыт, надо было с краёв херачить, было бы в сто раз быстрее... чёрт ) алгоритм с "крайний наименьший" )
ты главного не сказал: те пиплы (которые "тестировали" тебя) были правы или нет?
уже пофиг, отказ получен, больше ничё меня не интересует )
Сейчас я вижу, в чём ещё могла быть лажа - не увидел такого решения, когда можно с краёв начинать "в обнимку" В ОДИН ПРОХОД заполнить все хитрые впадины и мультиозёра. Всё, это была самая приличная вакансия в городе, теперь тока застрелицо )
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042520
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не бери в голову (насчет вакансии)
Хотя между нами задача очень простая (без обид),
для программера экстра-класса тут ваще нет задачи.
И они кстати молодцы что такой хней проверяют.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042523
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя именно насчет тебя они еще пожалеют
А то знаешь на ПТ сидит куча ламеров, пальцы топорщат, а что они могут? Никуя.
Не умеют простейшие вещи (знание хрен с ним, это восполнимо).
Ничего не умеют и даже не понимают ни сути вещей, просто как роботы;
Пришли, ушли, накодили детсад. Им это неинтересно, это же видно невооруженным глазом.
Воображают: чуть-что, погуглим!

Хер вы свой погуглите.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042531
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да я понимаю, что простая, решение сразу в голову пришло, потом второе более экономичное, а оказывается есть третье, просто идеально клёвое )
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042532
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88Да я понимаю, что простая, решение сразу в голову пришло, потом второе более экономичное, а оказывается есть третье, просто идеально клёвое )
нет , не простая
Просто всё у ламеров. вот у них всё просто
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042535
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в следующий раз ткни своих тестировщиков сюда http://www.spoj.pl/ranks/HIR/
Hard Image Recognition
И я тебе скажу почему там нет китаёз. Ты думал китаёзы такие простачки?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042537
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
малейшая "полезная" вещь под строжайшим запретом
Да собственно и у нас это начинают понимать. Наш местный супер-хирург пишет:
пипец, на любой конференции язык на замок, потому что пиздят в наглую идеи,
и через неделю уже делают ТАМ (на Западе)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042539
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183малейшая "полезная" вещь под строжайшим запретом
Да собственно и у нас это начинают понимать. Наш местный супер-хирург пишет:
пипец, на любой конференции язык на замок, потому что пиздят в наглую идеи,
и через неделю уже делают ТАМ (на Западе)
(-;
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042540
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88RT183малейшая "полезная" вещь под строжайшим запретом
Да собственно и у нас это начинают понимать. Наш местный супер-хирург пишет:
пипец, на любой конференции язык на замок, потому что пиздят в наглую идеи,
и через неделю уже делают ТАМ (на Западе)
(-;
так и есть
ты не знаешь насколько там контроль со стороны ну простых преподов например
Они (детишки, студики) у них консультируются по любому поводу; там вот так просто не письнешь
Со стороны конечно выглядит как будто "свободная страна"
Никуя; там пистец
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042541
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183nu88RT183малейшая "полезная" вещь под строжайшим запретом
Да собственно и у нас это начинают понимать. Наш местный супер-хирург пишет:
пипец, на любой конференции язык на замок, потому что пиздят в наглую идеи,
и через неделю уже делают ТАМ (на Западе)
(-;
так и есть
ты не знаешь насколько там контроль со стороны ну простых преподов например
Они (детишки, студики) у них консультируются по любому поводу; там вот так просто не письнешь
Со стороны конечно выглядит как будто "свободная страна"
Никуя; там пистец
А что это за сайт такой -- http://www.spoj.pl/ ?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042543
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88RT183nu88RT183малейшая "полезная" вещь под строжайшим запретом
Да собственно и у нас это начинают понимать. Наш местный супер-хирург пишет:
пипец, на любой конференции язык на замок, потому что пиздят в наглую идеи,
и через неделю уже делают ТАМ (на Западе)
(-;
так и есть
ты не знаешь насколько там контроль со стороны ну простых преподов например
Они (детишки, студики) у них консультируются по любому поводу; там вот так просто не письнешь
Со стороны конечно выглядит как будто "свободная страна"
Никуя; там пистец
А что это за сайт такой -- http://www.spoj.pl/ ?
а ну это просто очередной контестерский сайт, с 01 июня 2004 года
Очень качественный потому что они решили взять пиплов масштабом допустимых языков
Обычный набор C, Java, Pascal, C#
Я опять скажу, в принципе между подобными сайтами разницы нет, потому что они не
придумывают свои задачи и тестовые данные (это огромный кусок работы)
Вот например Ватерлоо: http://plg1.cs.uwaterloo.ca/~acm00/
Это не типа этого; просто публикуют всё потом
Да их очень много; или
http://cemc.math.uwaterloo.ca/contests/past_contests.html
Бери что хочешь
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042545
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а SPOJ -- это Гданьский Технологический Университет
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042549
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но чем именно этот сайт хорош? Да в принципе ничем особенным.
Просто задачи там встречаются зашибательские.
Даже взять просто польские олимпиады: это высочайший уровень.
Ваще-то Польша всегда славилась своей математикой.

Или даже взять ту задачу HIR, ты ее нигде больше не увидишь (с ZCon-а)
а ее наш русский опубликовал (Роман Соловьев)

В Индии проводится очень много соревнований. Море просто.
С денежными призами. Я просто пачками получаю "спам" от них:
приглашаем ! Примите участие ! (не именно я конечно; спам такой)
Индуссы кстати очень даже молодцы; они умеют работать, а не куи валять.
Они умные пацаны и у них есть очень важная черта: они не боятся ошибаться
и признавать свои ошибки
.
Т.е. там где я надую губки от обиды, индусс просто скажет: а я этого не знал!
Фенькс! Буду знать!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042558
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь понять, в чём смысл сайтов.
Ты находишь там постановку проблемы, выполняешь решение и публикуешь там? Кроме проверки себя, в чём ещё может быть смысл?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042559
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88Пытаюсь понять, в чём смысл сайтов.
Ты находишь там постановку проблемы, выполняешь решение и публикуешь там? Кроме проверки себя, в чём ещё может быть смысл?
и всё,
конечно
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042566
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну еще можешь топырнуть пальцы (причем очень заслуженно),
мой аккаунт такой-то и такой-то смотрите; а свою хню детскую мне под нос не суйте.
Ваще-то на Западе (и в Индии, и в Китае) очень принято гордиться своим рейтингом
там никто этого не стесняется
Прямо так и пишут (место № 444 на топкодере)
Если будет умный работодатель (или сам из этой тусовки), так ваще проблем не будет.
Никто даже тестить тебя не будет.
Я не представляю, нах мне надо было бы тебя тестить если бы ты был в первой 100, хоть и на польском споже.
Смешно просто. Я знаю что человек который туда попал, он сделает что угодно.
Гавнюков конечно надо рубить. Они ничего не умеют. Они воображают, что компьютеры предназначены ну для них например. Или думают : вызубрим инструкции и пипц всем.
Они даже не знают что компьютеры предназначены для решения конкретных задач и не более.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36042634
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень интересно, не знал. Математика всю жизнь интересовала, но к этим кругам не пренадлежал никогда ) Алгоритмы придумываю на базе высшего радиотехнического образования, никакой прикладной математики, а эти люди ведь наверное все с физ.мат.-лицеев и универов, монстры, жжесть )
Ладно, пойду александреску читать )
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36043083
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183Индуссы кстати очень даже молодцы; они умеют работать, а не куи валять.
Они умные пацаны и у них есть очень важная черта: они не боятся ошибаться
и признавать свои ошибки
.
Немного офф. Индусский код

К индусам ничего плохого не имею. Так. Ради лулз.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36043214
Дмитрий16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На ум приходит только классический волновой алгоритм, расширенный до 3D.
Реализация - два стека. в первый помещаем каплю воды на уровень до которого нужно оттрассировать. Далее капля падает вниз и в стороны (т.е. во воторой стек) далее меняем стеки местами. Итого если нарисовать - то мы просто наливаем воду из определенной точки а вода далее растекается. (Кстати, красиво выглядит + трассировщики печтаных плдат в основном работают именно так.)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36043561
уральский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183напрмиер http://www.spoj.pl/problems/WATER/
блинский ком, с третьего раза приняла и то с большим временем исполнения (6.62) %(
банальный depth first search, без каких бы то ни было оптимизаций.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36043859
Intser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий16На ум приходит только классический волновой алгоритм, расширенный до 3D.
Реализация - два стека. в первый помещаем каплю воды на уровень до которого нужно оттрассировать. Далее капля падает вниз и в стороны (т.е. во воторой стек) далее меняем стеки местами. Итого если нарисовать - то мы просто наливаем воду из определенной точки а вода далее растекается. (Кстати, красиво выглядит + трассировщики печтаных плдат в основном работают именно так.)

Наверное даже проще - берем один уровень, помечаем все ячейки с высотой больше как стенки, ячейки с высотой меньше - как свободное пространство. Дальше применяем волновой алгоритм для пустых ячеек - или еще что для поиска границ(учитываем дырки). Задача вырождается в задачу поиска замкнутых контуров на плоскости, количество повторений равно глубине. Продолжаем пока находится хотябы один замкнутый контур. Можно конечно оптимизировать - выкидывать заведомо дырявые контуры и т.д. Удобство в том, что можно начинать поиск как с верху, так и с низу :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044046
уральский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IntserНаверное даже проще - берем один уровень, помечаем все ячейки с высотой больше как стенки, ячейки с высотой меньше - как свободное пространство. Дальше применяем волновой алгоритм для пустых ячеек - или еще что для поиска границ(учитываем дырки). Задача вырождается в задачу поиска замкнутых контуров на плоскости, количество повторений равно глубине. Продолжаем пока находится хотябы один замкнутый контур. Можно конечно оптимизировать - выкидывать заведомо дырявые контуры и т.д. Удобство в том, что можно начинать поиск как с верху, так и с низу :)
Это скорее к spoj-евскому варианту применимо, если я парвильно понял (выделение замкнутых контуров на максимальной высоте); а вот ТСовские дырки таким способом не учесть (точнее можно учесть, конечно, но только проделав доп работу, которая делает лишним выделение контуров), я вот про них все думал и в итоге мой вариант сливные дырки допускает, наверное потому и получилась прога на грани TLE...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044312
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonRT183Индуссы кстати очень даже молодцы; они умеют работать, а не куи валять.
Они умные пацаны и у них есть очень важная черта: они не боятся ошибаться
и признавать свои ошибки
.
Немного офф. Индусский код

К индусам ничего плохого не имею. Так. Ради лулз.
Это потому что индусы относятся к программированию как к искусству :)
как к литературному творчеству, а Восток всегда славился своей витиеватостью.
У них тайное желание писать на санскрите;
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044318
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уральскийRT183напрмиер http://www.spoj.pl/problems/WATER/
блинский ком, с третьего раза приняла и то с большим временем исполнения (6.62) %(
банальный depth first search, без каких бы то ни было оптимизаций.
а у меня 2.20с http://www.spoj.pl/status/WATER,zzz/
Но страшно сказать, это было 28-го мая 2005 года.
6.62 вообще-то многовато. Надо менять подход.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044325
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уральскийRT183напрмиер http://www.spoj.pl/problems/WATER/
блинский ком, с третьего раза приняла и то с большим временем исполнения (6.62) %(
банальный depth first search, без каких бы то ни было оптимизаций.
а у меня 2.20с http://www.spoj.pl/status/WATER,zzz/
Но страшно сказать, это было 28-го мая 2005 года.
6.62 вообще-то многовато. Надо менять подход.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044407
уральский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183Надо менять подход.
Ога, как я написал выше, это из-за учитывания сливных дырок, которых в SPOJ-задаче быть не может.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044562
Фотография nu88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тот алгоритм, который в один проход всё делает, о котором я тут зарекался, он и с дырками обходится клёво. Надо будет реализовать и выложить. Блин, какие вы сайты клёвые знаете.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044612
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nu88Тот алгоритм, который в один проход всё делает, о котором я тут зарекался, он и с дырками обходится клёво. Надо будет реализовать и выложить. Блин, какие вы сайты клёвые знаете.
выложи обязательно
В смысле, запули туда
И точную ссылку на свои сабмиты
Я по временам скажу как ты решал :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044646
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уральскийRT183напрмиер http://www.spoj.pl/problems/WATER/
блинский ком, с третьего раза приняла и то с большим временем исполнения (6.62) %(
банальный depth first search, без каких бы то ни было оптимизаций.
я глянул и увидел ты пробовал двух профессоров (я их упоминал тут) :)
Хорошая задача. Я ее потом щелкнул как орешку.
Просто опять надо ясно видеть чего и как и почему.
http://www.spoj.pl/ranks/TWOPROF/
Но нельзя сказать что простая.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044653
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Is it a tree
Тоже ничего, но она простая
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044656
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а два профессора, тут уже .... гм
тут надо очень ясно мыслить (я бы сказал)
8 решивших юзеров -- это очень очень мало
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36044662
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати первый по времени http://www.spoj.pl/ranks/TWOPROF/
Иван Катаник -- хорватская гордость. Монстрюк. Ни хухры мухры.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36060766
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex82,
а как ты читаешь? сканфом? попробуй так, время в 2 раза точно сократится (огромный входной файл)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
int read_ui() {
    int n =  0 ;
    char c;
    while (!isdigit(c = getchar()));
    while (isdigit(c)) {
        n = n *  10  + (c - '0');
        c = getchar();
    }
    return n;
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36061868
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь решить http://www.spoj.pl/problems/ANALYS_T/ . Точнее, для себя я ее уже решил, но то ли что-то не учел, то ли... а там могут быть задачи, у которых ответ неправильный? :)

Исходник на c#, если интересно, могу выложить. Все варианты, которые сам нагенерировал, работают. На spoj.pl еще проблема с тем, что C# там не совсем C#, а какое-то корыто времен царя гороха.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062079
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неправильный ответ? да считай что таких нет
зы
я эту задачу первый раз вижу поэтому ничего сказать не могу
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062135
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавлена Blue Mary
э глухо.... ошибка у тебя, 100%
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062158
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

логика, имхо, простая - если выполняется команда goto, то выйти из замкнутого круга можно только, если хотя бы одна из команд if остается активной (то есть, за текущую итерацию остается вероятность, что условие когда-нибудь выполнится). Уже гору вариантов различных рассмотрел - по этой логике все они отрабатываются полностью. Даже пробовал выводит в ответ значения из блоков print и текст "Hint: путь" - ни один из них не принимается :) Несколько часов дергал сервер, результата ноль... может взглянешь незамыленым взглядом на задачу?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062192
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. Golubin,

обнаружил такой фрагмент в тексте, который я не учитывал:

Код: plaintext
Program terminates by itself when <end> is executed.

Код: plaintext
If the program can not terminate by itself,output -1.

А я считал, что "not terminate by itself" - программа просто ушла в цикл. А она еще и завершиться же может не блоком END Сейчас попробую еще раз.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062204
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда... еще строку в условии нашел:

Код: plaintext
The sentence with the maximum level is always <end>
то есть не может программа без END завершиться :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062265
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот видишь
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062269
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

но в таком случае, этот факт ничего не меняет :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062278
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, кстати, так и не понял, надо в ответ выводить Hint: и путь выполнения или не надо...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062503
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, конечно :)
В ответе должно быть голое целое число
А хинт это просто хинт, просто пояснение к задаче
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062509
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

ну я так, в принципе, и думал. Просто сколько задач смотрел - в этой впервые такое увидел :) Думаю, можно отключить проверку вообще - если до окончания времени (10 сек) код не выполнился, значит уже и не выполнится - и выводить -1 :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062563
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, Рома, я мало чем могу помочь (если только 3 сдавших юзера - это суровая задача).
Единственное что гарантирую: там всё честно.
Где-то что-то у тебя. Или меняй подход или бросай нах.
Может ты не так перевел описание (у меня такое бывало).
Ну как, глазами пробежишь по описанию и типа "решаешь",
а там совсем другое требуется.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062582
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

да простая задача. тупой интерпретатор с контролем процесса выполнения на невозможность выйти из цикла... но то ли лыжи не едут... :) короче, не смог придумать варианта тестовых данных, который смог бы завести мое решение в тупик... надо, наверное, выспаться, а по утру еще раз посмотреть
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062919
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНемного офф. Индусский код

К индусам ничего плохого не имею. Так. Ради лулз.

Индусский код
В Индии с некоторых времен существует практика оценки производительности труда программиста на основе количества написанного кода. Чем больше кода, тем больше программист работает, и, следовательно, выше его оклад. Шустрые индусы быстро сообразили как обманывать неквалифицированных заказчиков.


Че - то вдруг вспомнил, в стародавние времена, когда индусы и компьютеров - то не видели, труд программистов в России, во многих местах, да и за рубежом оплачивался построчно, разве нет? :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062936
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие "старые времена" ? В 2003 году на некоторых гос-предприятиях Украины пытались ввести оценку труда для программистов. Я - тому живой свидетель.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062940
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКакие "старые времена" ? В 2003 году на некоторых гос-предприятиях Украины пытались ввести оценку труда для программистов. Я - тому живой свидетель.
тупые уроды
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36062999
Фотография SQL_Lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183тупые уроды

Речь о 80-х :)
Вы максималист :)
Вам с коболом надо познакомиться :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36063009
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL_LamerRT183тупые уроды

Речь о 80-х :)
Вы максималист :)
Вам с коболом надо познакомиться :)
я ващет на пост мейтона откликался :) если чё
В 80-х это было простительно. У меня сестра изучала кобол,
ужас до сих пор (чего она так его боялась?) Я как-то полистал
учебник,... полная хрень детская.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36063074
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. GolubinRT183,

да простая задача. тупой интерпретатор с контролем процесса выполнения на невозможность выйти из цикла... но то ли лыжи не едут... :) короче, не смог придумать варианта тестовых данных, который смог бы завести мое решение в тупик... надо, наверное, выспаться, а по утру еще раз посмотреть
не, я глянул сабмиты: если не сдали amaroq и Miorel Palii, то это глухо
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36063207
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

что-то я не понял, что такое amaroq :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36063209
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. Golubinчто-то я не понял, что такое amaroq :)
Все, понял
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36064127
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183Единственное что гарантирую: там всё честно.
Где-то что-то у тебя. Или меняй подход или бросай нах.
Да вот, блюмари пишет, что это проблема с тестовыми данными

Код: plaintext
1.
2009-06-29 10:19:48 Blue Mary 
I'm sorry, R.S.Golubin, I've detected some errors in the test data. I'm now doing some modification to it, after that I'll make a big rejudge - not only to this problem, but also to problem ANALYSER.  
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36064136
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апфигеть! ну ты и жук
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36064153
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

че сразу жук-то? :))
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36064206
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman S. GolubinRT183,

че сразу жук-то? :))
жук у меня значит молодец
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36064237
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183,

число решивших сразу увеличилось до тринадцати человек :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36078828
Фотография Roman S. Golubin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опа!!! SPOJ.PL по-русски заговорил!!! http://www.spoj.pl/ZEL08/
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36078997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бегло полистал. Так и не понял, там можно посмотреть чужие исходники?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080767
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, при всем моем уважении, я сто раз говорил:
никто и никому ни на одном контестере в мире чужие коды не показывает. Это принцип.
Они видны только админам сайта, того или иного. И вряд ли они ими сильно интересуются.
Может проблем-сеттерам тоже видны просабмиченные коды.

Даже не представляю почему тебя это так интересует.
То что написал Рома. SPOJ может хостить кого угодно.
Там хостятся бразильцы, вьетнамцы. Роман Соловьев решил
захостить ZCon на SPOJ. Удобно и дружественно. Вот и всё.
Даже я могу придумать задачи и попросить их захостить меня.
Без проблем.

Но это их междусобойчики. Я не знаю как у них там.
Сам по себе SPOJ (его задачи) ничего и никому не показывает.

Мой аккаунт: http://www.spoj.pl/users/zzz/
Могу показать свои коды к решенным, и то не все
Только нах они кому нужны; вот это мне непонятно
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080794
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080798
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
так у тебя такая возможность будет (если это твой портальчик)
Только я всё равно ничего не понимаю; принципиально правильный алгоритм не улучшишь ну никак
а техническую хню.... это как бы мало интересно
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080800
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, ты прав, но технической хнёй на 90% забит этот форум. Иначе и быть не может.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080801
RT183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон, ты про какой форум? этот?
ай, ну тут детсад; хню какую-то спрашивают
Или что-то слишком специфическое, что за них никто изучать не будет,
или , детский лепет, типа топика про 2 повтора чисел в массиве
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36080928
студентик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183пардон, ты про какой форум? этот?
ай, ну тут детсад; хню какую-то спрашивают
Или что-то слишком специфическое, что за них никто изучать не будет,
или , детский лепет, типа топика про 2 повтора чисел в массиве

так для этого и созданы 90% форумов интернета, да и всегда же найдется самый умный, которому все известно:)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081145
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
студентикRT183пардон, ты про какой форум? этот?
ай, ну тут детсад; хню какую-то спрашивают
Или что-то слишком специфическое, что за них никто изучать не будет,
или , детский лепет, типа топика про 2 повтора чисел в массиве

так для этого и созданы 90% форумов интернета, да и всегда же найдется самый умный, которому все известно:)
не знаю... но я уже годы назад забил что-то спрашивать
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081186
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
студентикRT183пардон, ты про какой форум? этот?
ай, ну тут детсад; хню какую-то спрашивают
Или что-то слишком специфическое, что за них никто изучать не будет,
или , детский лепет, типа топика про 2 повтора чисел в массиве

так для этого и созданы 90% форумов интернета, да и всегда же найдется самый умный, которому все известно:)
я ваще-то насчет алгоритмов и пр. обязательно сюда заглядываю сюда, каждый день:
http://forum.sources.ru/index.php?showforum=43
Там есть реально секущие люди и вообще чего-то новое узнаешь
Здесь тоже, но им это всё уж слишком лениво
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081258
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
студентик, я на скуль.ру хожу только на ПТ,
из-за нехватки общения в жизни, а как там вопросы или
чё.. это нет. Тут в принципе старперская тусовка с неясными целями и задачами.
Или слишком умные или слишком тупые.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081357
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183
Мой аккаунт: http://www.spoj.pl/users/zzz/


щас глянул на свою ссылку...
Удивительное чувство! Все задачи как мои детки.
И всё помню: вот эту делал такого-то числа, поздно ночью,
а другую утром, а вот эту вот там (вспоминаю обстановку).
И всё помнится, что удивительно. Малейший нюанс, эмоции,
что смотрел по тв в тот день, что ел.

У меня ващет больше сотни сделанных задач на китайских контестерах,
и на тимусе например. Но эмоционально затрагивает только SPOJ.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081361
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а без эмоций ...... ну никак не получается
Всё должно получать эмоциональную окраску
У меня, по крайней мере
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081883
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
ай, mayton, ну чё ты там "улучшишь"..
Там банальные схемы, DP, графы и т.д.
Вот то что я делал этой весной (детектирование текста) -- это
действительно интересно. Там уже хрен поправишь или улучшишь.
Это кажется просто. На самом деле это очень не просто.
И нужен очень тонкий баланс. И миллион направлений.
Я даже нейросеть никогда не накидывал. Глупость просто.
Она это не потянет. А у меня более-менее всё тянется.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081923
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
ай, mayton, ну чё ты там "улучшишь"..
Там банальные схемы, DP, графы и т.д.
Как показал недавний опыт "командных" марафонов на топкодере, заимствование и улучшение идей, в общем, не миф))
только задачка нужна поинтереснее, чем "кратчайший путь на графе".
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081949
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
junior idiotRT183.1maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
ай, mayton, ну чё ты там "улучшишь"..
Там банальные схемы, DP, графы и т.д.
Как показал недавний опыт "командных" марафонов на топкодере, заимствование и улучшение идей, в общем, не миф))
только задачка нужна поинтереснее, чем "кратчайший путь на графе".
Кстати, да.
mayton, вот topcoder.com, там можно смотреть чужой код, улучшать, смотреть результаты улучшений (в марафонах). Велкам.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081961
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
ай, mayton, ну чё ты там "улучшишь"..
Там банальные схемы, DP, графы и т.д.
Как показал недавний опыт "командных" марафонов на топкодере, заимствование и улучшение идей, в общем, не миф))
только задачка нужна поинтереснее, чем "кратчайший путь на графе".
Я куда больше горжусь
что я единственный на SPOJ кто сделал это: http://www.spoj.pl/ranks/NOTOKNOT/
Люди они ведь тупые, китаезы, индийцы, они втемяшат в
себя технику и лепят по полной. А вот посмотреть вниз или вверх,
они не могут. Их как обучили в Ханойском универе, то они и лепят.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081966
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне топкодер эстетически не понравился
там запах денег и корпораций
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36081983
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1мне топкодер эстетически не понравился
там запах денег и корпораций
На что-то же они должны существовать.
И, кстати, что плохого в том, чтобы некоей исследовательской лаборатории за денюжку не попользоваться лучшими мозгами мира для решения каких-то конкретных имеющихся у них задач?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082030
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1мне топкодер эстетически не понравился
там запах денег и корпораций
На что-то же они должны существовать.
И, кстати, что плохого в том, чтобы некоей исследовательской лаборатории за денюжку не попользоваться лучшими мозгами мира для решения каких-то конкретных имеющихся у них задач?
конечно ничего плохого в этом нет
Но я ж советский человек -- если вижу деньги, я сразу тушуюсь и ухожу в тень.
Лучше побираться
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082039
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1 http://www.spoj.pl/ranks/NOTOKNOT/
Первое что приходит в голову - разбить одну из ниток на треугольники-полигоны, для каждого из которых посчитать кол-во сегментов второй нитки, которые с данным "полигоном" пересекаются, просуммировать это для всех "полигонов", если полученная сумма четная - все распутывается, иначе -нет.
Верно? Или не верно? Или по скорости не пройдет?))
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082052
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1 http://www.spoj.pl/ranks/NOTOKNOT/
Первое что приходит в голову - разбить одну из ниток на треугольники-полигоны, для каждого из которых посчитать кол-во сегментов второй нитки, которые с данным "полигоном" пересекаются, просуммировать это для всех "полигонов", если полученная сумма четная - все распутывается, иначе -нет.
Верно? Или не верно? Или по скорости не пройдет?))
хм..... верно конечно (скорость в этой задаче значения не имеет)
Уважаю если сам придумал. Технически можно по-разному, но в принципе я так и делал.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082091
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1хм..... верно конечно (скорость в этой задаче значения не имеет)
Уважаю если сам придумал. Технически можно по-разному, но в принципе я так и делал.
Сам, и пытаюсь сейчас понять можно ли смело бить на треугольники подряд идущими точками, начиная прям с самой первой; т.е. даже если полученный треугольник визуально лежит вне петли (такое возможно несли она невыпуклая), то вроде бы все равно ответ будет правильным, но это как-то не очевидно...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082101
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1хм..... верно конечно (скорость в этой задаче значения не имеет)
Уважаю если сам придумал. Технически можно по-разному, но в принципе я так и делал.
Сам, и пытаюсь сейчас понять можно ли смело бить на треугольники подряд идущими точками, начиная прям с самой первой; т.е. даже если полученный треугольник визуально лежит вне петли (такое возможно несли она невыпуклая), то вроде бы все равно ответ будет правильным, но это как-то не очевидно...
там есть небольшие тонкости (boundary cases)
можно бить на треугольники, прямо подряд, как ты пишешь
Но в принципе ты ее уже решил
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082271
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1хм..... верно конечно (скорость в этой задаче значения не имеет)
Уважаю если сам придумал. Технически можно по-разному, но в принципе я так и делал.
Сам, и пытаюсь сейчас понять можно ли смело бить на треугольники подряд идущими точками, начиная прям с самой первой; т.е. даже если полученный треугольник визуально лежит вне петли (такое возможно несли она невыпуклая), то вроде бы все равно ответ будет правильным, но это как-то не очевидно...
а ты ваще откуда? физтеховец?
явно намного намного выше средних умов
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36082301
junior idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1а ты ваще откуда? физтеховец?
явно намного намного выше средних умов
Не, я из МИФИ, но не могу сказать чтобы меня там чему-то научили, в основном практикую самообучение...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36083092
студентик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1
не знаю... но я уже годы назад забил что-то спрашивать

ну вы, наверно, просто матерый программист... я и сам не люблю спрашивать, но бывают ситуации, в которых либо мало информации, либо неясно поставленное задание... в соседнем топике я указал проблему, которую не могу решить, может вы сможете подсказать. Суть проблемы в том, что нужное эффективное вычисление частных производных многочлена от многих переменных в заданной точке. Очевидный вариант, что в вычислениях частных производных будет много общего, но я всеравно не могу прийти к тому, что эти вычисления должны быть в С раз превосходить вычисление самого многочлена, причем С не зависит от количества переменных.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36083374
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183уральскийRT183напрмиер http://www.spoj.pl/problems/WATER/
блинский ком, с третьего раза приняла и то с большим временем исполнения (6.62) %(
банальный depth first search, без каких бы то ни было оптимизаций.
а у меня 2.20с http://www.spoj.pl/status/WATER,zzz/
Но страшно сказать, это было 28-го мая 2005 года.
6.62 вообще-то многовато. Надо менять подход.
У меня с этим алгоритмом 0.11
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36083379
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ-бы поднял портальчик, аналогичный SPOJ, только с возможностью смотреть, и улучшать чужой код.
На WOJ можно смотреть чужие исходники, когда сам решишь задачу.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084887
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
студентикRT183.1
не знаю... но я уже годы назад забил что-то спрашивать

ну вы, наверно, просто матерый программист... я и сам не люблю спрашивать, но бывают ситуации, в которых либо мало информации, либо неясно поставленное задание... в соседнем топике я указал проблему, которую не могу решить, может вы сможете подсказать. Суть проблемы в том, что нужное эффективное вычисление частных производных многочлена от многих переменных в заданной точке. Очевидный вариант, что в вычислениях частных производных будет много общего, но я всеравно не могу прийти к тому, что эти вычисления должны быть в С раз превосходить вычисление самого многочлена, причем С не зависит от количества переменных.
Извини, братан, мне щас не до этого , у меня тут "обиды и разборки".
Но таких людей как ты я уважаю и обожаю. Ты молодец. Ты главное расти
и не обращай внимание на тупую ламерскую шушеру. И у тебя всё будет.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084893
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotRT183.1а ты ваще откуда? физтеховец?
явно намного намного выше средних умов
Не, я из МИФИ, но не могу сказать чтобы меня там чему-то научили, в основном практикую самообучение...
да я сразу понял поэтому и спросил (просто учуял родственную душу)
Я сам там тусовался
А ты москвич или в студгородке живешь?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084918
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя, задним числом, могу смело сказать : ничего там в МИФИ хорошего нет
95% студентов -- бездари, в лучшем случае -- карьеристы.
И преподаватели тоже бездари. Исключения есть, как и во всем, но я их не видел.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084922
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот у меня в моей группе был парень
Он щас в Марбурге наверное
Мы с ним дружили пипец как, я его всё подбивал "выпить"
Эх.......
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084949
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю застал ты или нет Светозарова.
В принципе его студики ценили.
А я никогда не уважал такую подачу, этакую развязность,
с шутками прибаутками. Мне всегда было проще самому прочитать книгу.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084963
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас вспомнил опять и поржал. И уважаю их все-таки.
Заглянул как-то на их сайт (МИФИ) , а у них зав. кафедрой физ.воспитания Гитлер.

В мое время был чемпион мира по хоккею. Я даже у него был в кабинете, один на один.
Очень жесткий взгляд, но не злой. Я только помню сильные кисти рук и жесткий взгляд.
Но взгляд серых глаз потрясающий. Я вот прямо щас эти глаза помню.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084982
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и почему всегда всё ценишь только задним числом?
Я ведь говорил с чемпионом мира по хоккею! Гордость и кумир СССР!
Но тогда мне это было нас рать.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36084998
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас бы я да.... полз бы на коленях к нему, ну автограф накрайняк
Это сейчас понятно как все-таки трудно чего-то достичь в жизни
эх
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36090747
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хай всем,

нет, парни, вы - злодеи!!! Заглянул в тему, прочитал суть задачи, дальше специально смотреть не стал, и не успокоился, пока сам не решил. Написал на шарпе, консольная прога и исходник - внутри архива.

ОГРОМНАЯ просьба потестить на самых причудливых данных и найти ошибки. Защита от дурака не делалась, это звиняйте...

Запуск: puddles.exe FileName.txt
FileNme.txt должен содержать в первой строке количество строк и колонок (не перепутайте), дальше идёт матрица с данными любой размерности, не менее чем 3х3. Значения уровней - от 1 до 9, с любым количеством "сливов" по краям. "Сливы" могут идти подряд.
Например, для файла с данными:

14 17
9 9 9 5 6 5 9 9 5 9 9 9 9 9 7 9 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
9 4 4 4 4 0 4 4 4 4 4 4 4 4 4 4 7
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7
5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
6 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5
9 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9
9 9 9 5 5 9 6 9 9 9 9 5 9 9 9 9 9

получим результат абсолютного уровня воды в каждой точке образовавшихся луж (по сути - глубина)

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 2 2 2 0 0 0 0 0 0 0 0 0 0 1 0 0
0 2 4 2 0 0 0 0 1 1 1 1 1 0 2 3 0
0 2 2 2 0 0 0 0 1 1 1 1 1 0 0 0 0
0 0 0 4 4 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 4 4 0 0 0 0 0 0 0 0 0 0 4 0
0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 3 0 0 0 0 1 4 3 2 1 0 0 0
0 0 0 0 1 1 1 1 0 2 0 0 0 4 0 0 0
0 0 0 0 0 0 1 1 0 3 0 2 0 3 0 0 0
0 0 0 0 0 0 1 0 0 4 0 0 0 2 0 0 0
0 1 2 3 0 0 0 0 0 1 2 3 4 1 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 2 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Вроде, так и должно быть.
Можно проверить на исходных данных в начальном посте.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36090906
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Заглянул в тему, прочитал суть задачи, дальше специально смотреть не стал, ...

Зря. Если б посмотрели, то увидели бы, что решение можно проверить на этой задаче.

В вашем примере уровень воды в каждой клетке области с высотой = 4 должен быть одинаков, и равен нулю, потому что вода в дырку стекает. А у вас фигня какая-то в ответе.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091030
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmullVadimPanov
Заглянул в тему, прочитал суть задачи, дальше специально смотреть не стал, ...

Зря. Если б посмотрели, то увидели бы, что решение можно проверить на этой задаче.
Это несколько разные задачи. Я говорил про ту, что озвучена в первом посте данной темы, при чём тут ссылка?

rmull
В вашем примере уровень воды в каждой клетке области с высотой = 4 должен быть одинаков, и равен нулю, потому что вода в дырку стекает. А у вас фигня какая-то в ответе.
Сорри, конечно, я ступил и залил для примера не те данные!
Вот верные исходные данные:

14 17
9 9 9 5 6 3 9 9 5 9 9 9 9 9 7 9 9
9 3 3 3 9 9 9 9 9 9 9 9 9 9 6 9 9
9 3 1 3 9 9 9 9 6 6 6 6 6 9 5 4 9
9 3 3 3 9 9 9 9 6 6 6 6 6 9 9 9 9
9 9 9 1 1 9 9 9 9 9 9 6 6 7 7 6 9
9 9 9 1 1 9 9 9 9 9 9 9 9 9 8 1 5
9 9 9 9 2 9 9 9 9 9 9 9 9 9 9 9 7
9 9 9 9 2 9 9 9 9 4 1 2 3 4 9 9 7
9 9 9 9 4 4 4 4 9 3 9 9 9 1 9 9 7
1 2 3 4 9 9 4 4 9 2 9 7 9 2 9 9 9
9 9 9 9 9 9 4 6 9 1 9 9 9 3 9 9 9
4 3 2 1 9 9 9 8 9 4 3 2 1 4 9 7 5
9 9 9 9 3 3 3 7 9 9 9 4 9 9 9 5 9
9 9 9 1 4 9 6 9 9 9 9 5 9 9 9 9 9
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091034
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, сливы, как я понял по условию задачи, предусмотрены только по краям.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091072
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Это несколько разные задачи. Я говорил про ту, что озвучена в первом посте данной темы, при чём тут ссылка?

Задача по ссылке - это вариант задачи, описанной в этой теме, но без сливов внутри матрицы. Так что алгоритм можно легко на ней проверить.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091094
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmull
Задача по ссылке - это вариант задачи, описанной в этой теме, но без сливов внутри матрицы. Так что алгоритм можно легко на ней проверить.
Уважаемый, задача по ссылке просит найти максимальный объём воды, который получится в образовавшихся озёрах.
Тогда как у тредстартера задача звучит так:
"Необходимо выдать результат о том, где какие озёра образуются после длительного дождя или после опускания этой конструкции в море и подёма из него. Вода может переливаться с каждой клетки только в 4 направлениях.
Результат пусть будет, скажем, в абсолютной высоте уровня воды в данной точке."
Разница есть?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091118
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Разница есть?

В задаче по ссылке нужно выдать максимальный суммарный объём воды. Это значение равно сумме элементов матрицы, которую находит ваша программа. Я думаю, вам не должно составить труда найти эту сумму :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091123
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще-бы кто-нибудь, страдающий избытком свободного времени, визуализировал-бы это в 3D.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091218
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmullVadimPanov
Разница есть?

В задаче по ссылке нужно выдать максимальный суммарный объём воды. Это значение равно сумме элементов матрицы, которую находит ваша программа. Я думаю, вам не должно составить труда найти эту сумму :)
Гм... Не собирался решать "задачу по ссылке"... Не искушайте меня :-)

У меня в реализации вся поверхность тупо заливается водой, затем обходом по краям ищутся "сливы", через которые вода может уйти и далее шагаем внутрь матрицы, уравнивая уровни (каламбур!) между соседними ячейками там, где это возможно. Т.е. внутренние лужи, не имеющие сливов по краям вообще не трогаются. А чтобы найти максимальный объём нужно найти все лужи, какие есть, и высчитать их объём. Я даже знаю - как... Блин... rmull, ты - злодей, я щас опять на этом залипну и пока не решу - не успокоюсь!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091349
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Мой английский хромает, он хороший, но он хромает..."(с)
В задаче просится найти:
computes maximal water volume, which may gather in puddles after the rain

я правильно понимаю, что надо найти суммарный объём воды во всех лужах, или надо найти лужу с максимальным объёмом?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091400
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov"Мой английский хромает, он хороший, но он хромает..."(с)
В задаче просится найти:
computes maximal water volume, which may gather in puddles after the rain

я правильно понимаю, что надо найти суммарный объём воды во всех лужах, или надо найти лужу с максимальным объёмом?
Надо найти максимальный объём воды, который может набраться в лужах после дождя. То есть, сумму объёмов всех луж.

На всякий случай, на форуме есть пример решения тестовой задачи на C#.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091585
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmull,

Создал аккаунт, отослал код для решения этой задачи :-), получил "time limit exceeded"... :-(

Интересно, как оно у них считается? У меня же на компе быстро отрабатывает...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091682
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovrmull,
Интересно, как оно у них считается?
И как они учитывают разную скорость для разных языков? Одно дело С++, другое - тот же C#...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36091727
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovrmull,

Создал аккаунт, отослал код для решения этой задачи :-), получил "time limit exceeded"... :-(

Интересно, как оно у них считается? У меня же на компе быстро отрабатывает...
Какая у вашего решения сложность? У меня решение со сложностью O(n*m*log(n*m)) на C++ выполняется за 0.11 секунд.

VadimPanov
И как они учитывают разную скорость для разных языков? Одно дело С++, другое - тот же C#...

Никак. 7 секунд - общий time limit для всех языков. Но в случае с C# это не должно быть проблемой, потому что он практически не уступает по скорости C++.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36093535
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmullVadimPanovrmull,
Какая у вашего решения сложность? У меня решение со сложностью O(n*m*log(n*m)) на C++ выполняется за 0.11 секунд.

А хз... Как посчитать?
VadimPanov
И как они учитывают разную скорость для разных языков? Одно дело С++, другое - тот же C#...

Никак. 7 секунд - общий time limit для всех языков. Но в случае с C# это не должно быть проблемой, потому что он практически не уступает по скорости C++.
Интерпретатор не уступает по скорости скомпилированному в машинные команды коду? Гм...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36093584
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С сишарпом там можно гулять,
почему? не знаю, мне это неинтерсно
Копаться в чужих кокажках, увольте
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36093785
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Извини, ничего не понял из твоего поста. Можешь сказать другими словами?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094122
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1,

Извини, ничего не понял из твоего поста. Можешь сказать другими словами?
ну другими словами:
сишарп на тех задачах катастрофически не укладывается в тайм-лимит
не на всех конечно, но в большинстве случаев
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094151
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормально. Задачка-то АЛГОРИТМИЧЕСКАЯ. Значит перевес будет не у Ассемблерщика а у математика. Грамотно написанная прога заполенния озёр водой будь-то C# или Java может порвать С++. Вы только дайте ей хорошие объёмы. Не 10х10 клеточек, 64000х64000. И рельеф надо сделать посложнее. С хорошим лабиринтом.

P.S. Если-б не моя щас загруженность работой тоже посидел-бы парочку вечеров. Пооптимизировал.

Всего!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094168
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНормально. Задачка-то АЛГОРИТМИЧЕСКАЯ. Значит перевес будет не у Ассемблерщика а у математика. Грамотно написанная прога заполенния озёр водой будь-то C# или Java может порвать С++. Вы только дайте ей хорошие объёмы. Не 10х10 клеточек, 64000х64000. И рельеф надо сделать посложнее. С хорошим лабиринтом.

P.S. Если-б не моя щас загруженность работой тоже посидел-бы парочку вечеров. Пооптимизировал.

Всего!
+1
тоже самое что оптимизировать и селекты :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094266
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SPOJ ваще очень френдли контестер в этом смысле.
Там и сишарп потянет.
А вот саратовский... они уже годы как уперлись рогом,
настолько суровые тайм-лимиты.
Я даже как-то написать хотел им: типа, завязывайте.
Потом забил.
Но все-таки они зря это. Там трудно чему-то научиться.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094667
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmull
VadimPanov
И как они учитывают разную скорость для разных языков? Одно дело С++, другое - тот же C#...

Никак. 7 секунд - общий time limit для всех языков. Но в случае с C# это не должно быть проблемой, потому что он практически не уступает по скорости C++.
А я, вот, попробовал запостить их решение задачи TEST, который они приводят здесь , и для C# в их варианте получил время аж 0.17, и был где-то в середине списка из нескольких сотен решений. В то время как лучшие показали время 0.00... Даже слегка оптимизированное решение для шарпа дало 0.16, т.е. разница по скорости - огромная, и C# там отнюдь не в лидерах... Так - нечестно :-( ...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094672
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Что скажешь насчёт задачи TEST, см. мой пост выше?
Асен пень, что на асме можно наворотить так, что и за год не посчитает. Но при прочих равных условиях C# там проигрывает. Надо мерить не время, а операции, а вот как это сделать - вопрос...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094674
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmull
Какая у вашего решения сложность? У меня решение со сложностью O(n*m*log(n*m)) на C++ выполняется за 0.11 секунд.

А как ты вывел эту формулу? Я бы тоже посчитал для своего алгоритма...
Они бы хоть отображали, какое время в итоге, а то больше 7 и всё, а вдруг там 7.01 ? :-)
или 100.01 ...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094675
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1VadimPanovRT183.1,

Извини, ничего не понял из твоего поста. Можешь сказать другими словами?
ну другими словами:
сишарп на тех задачах катастрофически не укладывается в тайм-лимит
не на всех конечно, но в большинстве случаев
Во, щас всё понял! Чудеса!!! :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094750
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovC# в их варианте получил время аж 0.17, и был где-то в середине списка из нескольких сотен решений. В то время как лучшие показали время 0.00... Даже слегка оптимизированное решение для шарпа дало 0.16, т.е. разница по скорости - огромная, и C# там отнюдь не в лидерах... Так - нечестно :-( ...
Извини, Вадим но я не понимаю ЧТО мы измеряем? При таких коротких таймингах мы просто замеряли бут-страп Runtime-среды и сопряжение с библиотеками ввода-вывода (STDIN, STDOUT).

Или я ошибаюсь в понимании контекста твоего вопроса.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094768
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovrmull
Какая у вашего решения сложность? У меня решение со сложностью O(n*m*log(n*m)) на C++ выполняется за 0.11 секунд.

А как ты вывел эту формулу? Я бы тоже посчитал для своего алгоритма...
Они бы хоть отображали, какое время в итоге, а то больше 7 и всё, а вдруг там 7.01 ? :-)
или 100.01 ...
у них правило: снимать задачу после 2 тайм лимитов
Т.е. если дано 7 сек то 14 секунд ее рубят
Правда как это может помочь не знаю :0
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36094818
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, меня не пускают на ПТ, но сказать про Достоевского хочется.
Больной на голову человек, он любил только себя, он хихикал убивая старушку.
Толстой его именно так и оценивал: психически не здоровый.
Вся его русская речь это намеренное искажение.
Я ни одного его романа не осилил (впрочем, как и Толстого)
Вот Чехов, это да..... Никто так не мог и не сможет писать.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095127
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Извини, Вадим но я не понимаю ЧТО мы измеряем? При таких коротких таймингах мы просто замеряли бут-страп Runtime-среды и сопряжение с библиотеками ввода-вывода (STDIN, STDOUT).

Или я ошибаюсь в понимании контекста твоего вопроса.
Я тоже не понимаю, что они там меряют.
У меня программа отрабатывает задание с 10-ю одинаковыми матрицами размера 170 х 102 за 0.25 сек.

Поскольку используется рекурсия, то бОльшего размера матрицы вызывают переполнение стека, а у них - не вызывают, значит, они юзают небольшие матрицы, но - много. Я так думаю.
И сколько там заданий, чтобы загрузить алгоритм на 7 сек?

Больше 280 штук у меня получается... Или как?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095186
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не о том. Я про этот исходник.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
using System;
using System.IO;

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            StreamWriter outbuff = new StreamWriter(Console.OpenStandardOutput());
            byte[] buf = new byte[ 300 ];
            int read = Console.OpenStandardInput().Read(buf,  0 ,  300 ),idx= 0 ;
            char t;
            while (true)
            {
                t = (char)buf[idx];
                if (t == '4' && buf[idx +  1 ] == '2') break;
                outbuff.Write(t);
                idx++;
            }
            outbuff.Flush();
        }
    }
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095224
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovmayton
Извини, Вадим но я не понимаю ЧТО мы измеряем? При таких коротких таймингах мы просто замеряли бут-страп Runtime-среды и сопряжение с библиотеками ввода-вывода (STDIN, STDOUT).

Или я ошибаюсь в понимании контекста твоего вопроса.
Я тоже не понимаю, что они там меряют.
У меня программа отрабатывает задание с 10-ю одинаковыми матрицами размера 170 х 102 за 0.25 сек.

Поскольку используется рекурсия, то бОльшего размера матрицы вызывают переполнение стека, а у них - не вызывают, значит, они юзают небольшие матрицы, но - много. Я так думаю.
И сколько там заданий, чтобы загрузить алгоритм на 7 сек?

Больше 280 штук у меня получается... Или как?
у тя просто очень мало опыта
Будет опыт и все вопросы сами отпадут
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095731
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ не о том. Я про этот исходник.

Что-то я запутался. Ты сам-то про что говоришь? :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095748
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1
у тя просто очень мало опыта
Будет опыт и все вопросы сами отпадут
Как набрать опыт, если не понятно, как оно устроено? У меня-то на компе всё быстро работает, а там - нет...
Кстати, вот в этой задаче, нужно считать количество квадратов ОДИНАКОВОГО размера или одновременно квадраты могут быть РАЗНОГО размера?
Они привели данные в примере для 1, 2 и 8, было бы ещё для 3 - понятнее стало бы.
Да и если такая разница по скорости в языках, то какой интерес?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095776
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, вот насчёт времени , как они считают. Ясен пень, будет зависеть от языка.

PS: у меня такое ощущение, что я сам с собой тут разговариваю... Ау, есть тут кто?...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095834
qaqaqa88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКстати, вот в этой задаче, нужно считать количество квадратов ОДИНАКОВОГО размера или одновременно квадраты могут быть РАЗНОГО размера?
Ну пример же там есть, длинна разная может быть, но я так понял, что квадраты могут иметь как-бы общие клетки тоже.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36095895
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qaqaqa88авторКстати, вот в этой задаче, нужно считать количество квадратов ОДИНАКОВОГО размера или одновременно квадраты могут быть РАЗНОГО размера?
Ну пример же там есть, длинна разная может быть, но я так понял, что квадраты могут иметь как-бы общие клетки тоже.
Сколько квадратов ты насчитал при длине стороны - 3? Я насчитал 34:
"сам весь" - 1
"все мелкие внутри" - 9
"Один крупный в углу, остальные пять вокруг двух его сторон" (4 комбинации, 6*4) - 24

итого - 34

Или я не прав?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36096030
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov,

я про то, что нельзя использовать сравнение С# и Java приложений с запуском executable. И так ясно, что раскрутка старта процесса в Unix происходит мгновенно, в Windows - чуть медленнее, а платформы Java и С# поднимаются и JIT-компилятся несколько секунд. Если мы хотим сравнивать ЧИСТОЕ время работы алгоритма, то надо внутрь приложения ставить чекпоинты. В противном случае цифры получаются несоответствующие действительности, особенно на коротких по времени расчётах (не более минуты например).
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36096084
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1
у тя просто очень мало опыта
Будет опыт и все вопросы сами отпадут
Как набрать опыт, если не понятно, как оно устроено? У меня-то на компе всё быстро работает, а там - нет...
Кстати, вот в этой задаче, нужно считать количество квадратов ОДИНАКОВОГО размера или одновременно квадраты могут быть РАЗНОГО размера?
Они привели данные в примере для 1, 2 и 8, было бы ещё для 3 - понятнее стало бы.
Да и если такая разница по скорости в языках, то какой интерес?
конечно разного, просто все они должны быть квадратами
Но эта задача из разряда где ну скорость ваще значения не имеет
Есть тип задач где важна именно скорость (т.е. в этом их соль)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36096396
qaqaqa88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
#include<stdio.h>

int main(int argc, char* argv[]){

	int *tempPnt;
	int testNum =  0 ;
	int num;

	int *input;
	
	do	{
		scanf("%i", &num);
				
		if (!num) break;

		tempPnt = new int[testNum+ 1 ];
			for (int i =  0 ; i < testNum; i++)	{
				tempPnt[i] = input[i];
			}
			
		if (testNum) delete [] input;

		tempPnt[testNum++] = num;
		input = tempPnt;
		
	}	while ( 1 );

		
	int n;
	long int sum;

	for (int i =  0 ; i < testNum; i++) {
		n = input[i];
		sum =  0 ;
			for (int j = n; j; j--) sum += (n-j+1)*(n-j+1);
		printf("%li\n", sum);
	}

	return  0 ;
}

0,01 sec / 2,6Mb Сейчас буду думать как улучшать...Я так понял надо делать свитч на 100 элементов...))
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36096777
rmull
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovrmull
Какая у вашего решения сложность? У меня решение со сложностью O(n*m*log(n*m)) на C++ выполняется за 0.11 секунд.

А как ты вывел эту формулу? Я бы тоже посчитал для своего алгоритма...

Алгоритмическая сложность - базовое понятие в теории алгоритмов. О ней написано в любой книге по алгоритмам. В простейшем случае надо найти самый большой набор вложенных циклов, и перемножить максимальное количество итераций каждого из циклов.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36096817
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qaqaqa88Я так понял надо делать свитч на 100 элементов...))
Не вздумай
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097117
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот неплохая карта для тестов. Когда наскучит развлекаться со сливом воды за границы этого виртуального мира, условия можно изменить. Я-бы ввёл искуственный "забор" шириной в 1 пиксел по периметру, и с определённой высотой. Её можно взять как нормированную 0.5 от минимального и макс. значения высот, либо как половину объёма всех высот (здесь надо взять численный интегральчик).

Заодно проверим, что первый потонет с случае всемирного потепления.



Как преобразовать её в текстовый формат высот, я думаю, объяснять не стоит.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097122
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Это в продолжение задачи WATER
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097123
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, еще, весьма качественно оцифрованные высоты.

...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097888
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот, еще, весьма качественно оцифрованные высоты.

Красивые картинки. У меня в институте (Радиофак УПИ) тема диплома была: АРМ специалиста-исследователя изображений земной поверхности, полученных методом распределённого радиозондирования (софт). Там такие картинки с помощью радиолокации делались с приличным разрешением, и что интересно - находили даже занесённые песком древние города, тогда как оптическая съёмка этого места вообще ничего не показывала...
А эти изображения как получены?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097890
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rmull
Алгоритмическая сложность - базовое понятие в теории алгоритмов. О ней написано в любой книге по алгоритмам. В простейшем случае надо найти самый большой набор вложенных циклов, и перемножить максимальное количество итераций каждого из циклов.
У меня рекурсия используется, примерно как в обходе дерева. Как же её сложность посчитать?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097896
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
я про то, что нельзя использовать сравнение С# и Java приложений с запуском executable. И так ясно, что раскрутка старта процесса в Unix происходит мгновенно, в Windows - чуть медленнее, а платформы Java и С# поднимаются и JIT-компилятся несколько секунд. Если мы хотим сравнивать ЧИСТОЕ время работы алгоритма, то надо внутрь приложения ставить чекпоинты. В противном случае цифры получаются несоответствующие действительности, особенно на коротких по времени расчётах (не более минуты например).
Вот и я про то же! Ихний скомпилированный TEST на c# отрабатывает 0.16 сек, а тот же на С - вообще мгновенно.
Так какой смысл в рейтингах тогда? Кто любит пулять со светофора, понимает, что сосед с мощностью движка больше на 15-20% сделает тебя легко при прочих равных условиях, если, конечно, не сольёт на старте из-за лужи под колесом или песка.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097924
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1
конечно разного, просто все они должны быть квадратами
Но эта задача из разряда где ну скорость ваще значения не имеет
Есть тип задач где важна именно скорость (т.е. в этом их соль)
Ты решал эту задачу? Сколько квадратов получается при стороне квадрата 3 и 4?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097928
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovТак какой смысл в рейтингах тогда? Кто любит пулять со светофора, понимает, что сосед с мощностью движка больше на 15-20% сделает тебя легко при прочих равных условиях, если, конечно, не сольёт на старте из-за лужи под колесом или песка.
Ну... я не разбирался в методике сравнительных тестов, но могу предположить что они всё-таки делают запуски на одном железе.

А насчёт .Net, Java и прочее в таймингах надо вводить поправку. В противном случае, непонятно, ЧТО мы изменяем.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36097951
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovА эти изображения как получены?
Первая картинка - скорее всего фейк. Субъективно, я не вижу на ней известных горных массивов. Обозначены только континенты.

Вторая - скорее всего получена искусственно. Возможно фрактальным алгоритмом. И... кстати я ошибся. Это не карта высот. Это скоре всего карта освещённости. Солнце светит с юго-запада. Если посмотреть вдоль реки, то видна характерная тень от нижнего берега. Но в принципе её можно применить для тестов алгоритма.

Все картинки я элементарно гуглил следующим запросом:

http://images.google.com/images?as_q=height+map&hl=ru&as_epq=&as_oq=&as_eq=&imgtype=&imgsz=small|medium|large|xlarge&imgw=&imgh=&as_filetype=&imgc=&as_sitesearch=&as_rights=&safe=images&as_st=y

Вчера пол-дня провёл в поисках старой софтины, которая мне очень нравилась. Называется Corel Bryce. И делает очень много интересных искусственных ландшафтов, трудноотличимых от натуральных. Но утилиту к сожалению не нашёл.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098423
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1
конечно разного, просто все они должны быть квадратами
Но эта задача из разряда где ну скорость ваще значения не имеет
Есть тип задач где важна именно скорость (т.е. в этом их соль)
Ты решал эту задачу? Сколько квадратов получается при стороне квадрата 3 и 4?
да это детская задача, ну не детская конечно, не буду косить под блестящего программера
Но не вижу свой код на своем компьютере, сейчас гляну на сподже
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098469
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1VadimPanovRT183.1
конечно разного, просто все они должны быть квадратами
Но эта задача из разряда где ну скорость ваще значения не имеет
Есть тип задач где важна именно скорость (т.е. в этом их соль)
Ты решал эту задачу? Сколько квадратов получается при стороне квадрата 3 и 4?
да это детская задача, ну не детская конечно, не буду косить под блестящего программера
Но не вижу свой код на своем компьютере, сейчас гляну на сподже
мой код к ней:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#include <cstdio>
#include <cstdlib>

using namespace std;

int foo(int n) {
    if (n ==  1 ) return  1 ;
    if (n ==  2 ) return  5 ;
    return foo(n -  1 ) + n * n;
}

int n;

int main() {
    while (true) {
        scanf("%d", &n);
        if (n ==  0 ) break;
        printf("%d\n", foo(n));
    }

//system("pause");
return  0 ;
} 


но это не программерская задача, в строгом смысле
Я не люблю задачи такого типа
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098496
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но насколько я помню
я думал над ней ну пару минут
В ней ни соли ни ума нет, пустышка так сказать

Но ты не бери в голову. У меня просто огромный бэкграунд, по жизни, по детству
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098571
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1Но насколько я помню
я думал над ней ну пару минут
В ней ни соли ни ума нет, пустышка так сказать

ХЗ, пустышка или нет, а я не могу сообразить, как её решить. Специально не смотрел ни твой код, ни других людей. Охота самому дойти, но сомнения есть, правильно ли задачу понял.
Попроси свою программу, плз, пусть она сосчитает для меня ответы для размеров 3 и 4.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098644
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
минуточку, щас проверю
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098663
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такие ответы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 3 
 14 
 4 
 30 
 5 
 55 
 6 
 91 
 7 
 140 
 8 
 204 
 9 
 285 
 10 
 385 
 11 
 506 
 111111 
 1363665804 
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098729
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Эти ответы были приняты, как верные? Если да, тогда я и в самом деле не понял условие задачи. Я, для значения 3, насчитал 34 квадрата:


"сам весь" - 1
"все мелкие внутри" - 9
"Один крупный в углу, остальные пять вокруг двух его сторон" (4 комбинации, 6*4) - 24

итого - 34

По твоему ответу выходит, что "остальные пять вокруг двух его сторон" - не считаются. Или как?
Пойму условие задачи - пойму как решить :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36098984
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим, я не намного умнее тебя, чтобы тебя чему-то учить,
но , бразер,
ведь условие задачи абсолютно ясное и прозрачное.
Избавляйся от наносов тупой хрени; чем более просто ты сможешь смотреть на вещи
, тем большего ты достигнешь.
Вселенная ведь очень простая штука.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36099133
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1
ведь условие задачи абсолютно ясное и прозрачное.

Значит мой английский совсем плох.

Разбираем вопрос в задании:
"how many different squares are there in a grid of N ×N squares?".

Мой перевод:
"Сколько различных квадратов имеется в сетке из N x N квадратов?"

Мой ответ 34, почему - расписано выше. Где ошибка?

RT183.1
Вселенная ведь очень простая штука.
Не согласен! :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36099252
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уфффф..... ну честно не понимаю твое смятение в этой задаче
Надо найти кол-во различных квадратов в Большом Квадрате... чё тут делать.... ну не понимаю
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36099972
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1
ведь условие задачи абсолютно ясное и прозрачное.

Значит мой английский совсем плох.

Разбираем вопрос в задании:
"how many different squares are there in a grid of N ×N squares?".

Мой перевод:
"Сколько различных квадратов имеется в сетке из N x N квадратов?"

Мой ответ 34, почему - расписано выше. Где ошибка?

RT183.1
Вселенная ведь очень простая штука.
Не согласен! :-)
Я бы тебе лучше порекомедовал http://www.spoj.pl/problems/TRICOUNT/
Там есть продолжение (TRICOUNT2 etc). Я сделал только эту и для меня она была не простая.
У меня кружилась голова от этих треугольников. was fainting
Остальные 2 задачи я вообще не пытался сделать.
Я к сожалению сейчас в очень плохой форме (пищевое отравление)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36099994
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> (пищевое отравление)

More precisely: alcoholic poisoning
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36100487
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimPanovRT183.1,

Эти ответы были приняты, как верные? Если да, тогда я и в самом деле не понял условие задачи. Я, для значения 3, насчитал 34 квадрата:


"сам весь" - 1
"все мелкие внутри" - 9
"Один крупный в углу, остальные пять вокруг двух его сторон" (4 комбинации, 6*4) - 24

итого - 34

По твоему ответу выходит, что "остальные пять вокруг двух его сторон" - не считаются. Или как?
Пойму условие задачи - пойму как решить :-)какие пять вокруг сторон? они же из "все мелкие внутри"
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36100509
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimPanov, если будешь индуктивно рассуждать - поймешь формулу. Не нужно считать площадь (все мелкие внутри)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101278
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinoкакие пять вокруг сторон? они же из "все мелкие внутри"
vinoVadimPanov, если будешь индуктивно рассуждать - поймешь формулу. Не нужно считать площадь (все мелкие внутри)
Да вот же, см. картинку во вложении. Из условия задачи прямо это и следует. Или зелёные кводраты - не считаются? Если не считаются, тогда я опять понял не так, как все. Беда, прямо... :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101356
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ааааа ........
я понял тебя, Вадим, твою ошибку,
зелененькие квадратики УЖЕ были тобой подсчитаны,
а ты считаешь их 2-3-4- ... раз
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101376
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Значит, условие не детализировано до нужной степени :-) и распределение вероятности правильного понимания соответствует гаусовскому.

Это как в тестах на IQ: большАя часть заданий в этих тестах может быть понята неправильно.
Пример: исключи лишнюю из следующих стран

Германия, Бельгия, Франция, Дания, Швеция

Каков твой ответ?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101402
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы удалил Францию, по лингвистическому признаку

А насчет задачи.... ну не прав ты.... там нет никаких неоднозначностей
Я бы тебя просто отшлепал, если бы ты сидел возле меня, под боком
У тебя может, у твоего ума, устройство ума политика,
политикам действительно нужно видеть миллион плоскостей и параллельных миров
Политик способен увидеть в точке миллиарды объектов,
а я смотрю на точку и вижу только точку
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101455
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Да? А на каком языке говорят в Бельгии?

PS: и это, насчёт шлепков... Ты или старше меня лет на 40 или это, того... АХТУНГ? 0_0
PPS: условие задачи осознал, буду думать формулу. Мозги закисли так, что быстро не придумается...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101538
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ахтунгом не владею :)

В Бельгии говорят вроде на фламандском и кажется это тоже германская группа, а не романская
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101562
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

В Бельгии говорят на французском. Ответ всё равно неверен, будут ещё варианты с объяснениями? :-)

Формулу понял, озадачен тем, что на C# ответы для этой задачи не принимаются, как-то надо перевести в обычный C++, коего у меня нет и проверить - не на чем...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101574
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1,
В Бельгии говорят на французском.
Кстати, ты прав: на каком языке говорят - зависит от провинции, в Брюсселе подавляющее большинство говорит на французском, потому я и сказал так.

Правильный ответ: Дания. Среди названных стран это - единственное королевство.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101783
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мухахахахаха

как поет Глюкоза: Два ответа сразу, если ты задашь один вопрос...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101784
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Это как в тестах на IQ: большАя часть заданий в этих тестах может быть понята неправильно.
Пример: исключи лишнюю из следующих стран

Германия, Бельгия, Франция, Дания, Швеция


Тут и думать нечего. Швеция конечно. Единственное государство которое не граничит с тремя вышеперечисленными.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36101837
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже три ответа :)
Хотелось бы увидеть Четвертый!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102006
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пары н: Германия Дания; ц: Швеция Франция,

Бельгия без пары
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102007
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а дания лишняя - она самая короткая.
а германия - самая длинная.
тут можно гадать до пенсии, что автор вопроса имел ввиду.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102008
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonVadimPanov
Это как в тестах на IQ: большАя часть заданий в этих тестах может быть понята неправильно.
Пример: исключи лишнюю из следующих стран

Германия, Бельгия, Франция, Дания, Швеция


Тут и думать нечего. Швеция конечно. Единственное государство которое не граничит с тремя вышеперечисленными.
а Дания это не остров?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102044
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парни, вы чёго? Я же ещё вчера дал правильный ответ:
VadimPanov
Правильный ответ: Дания. Среди названных стран это - единственное королевство.
Это говорит о чём?
1) Даже если вопрос примитивен, один из десяти человек поймёт его неправильно (закон Мёрфи)
2) Дискуссия на форумах редко протекает с ВНИМАТЕЛЬНЫМ изучением ответов участников

:-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102046
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Тут и думать нечего. Швеция конечно. Единственное государство которое не граничит с тремя вышеперечисленными.
ВОТ!!!
Вот как раз этот ответ и даёт большинство людей. И в случае наличия его в наборе тестов на IQ (а такой вопрос РЕАЛЬНО встречается), ты окажешься не прав. Ход твоих мыслей понятен и разумен:
Что такое страны? Это географически разделённые территории.
Как мы можем найти различия в таком случае? Посмотреть на гографическую карту.
Какие различия мы видим? Значительную удалённость Швеции! Вот и ответ!
А он не верен, т.к. составитель этого набора теста имел в виду в этом вопросе СОВСЕМ ДРУГОЕ!
У него политическое устройство было на уме...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102054
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Формулу понял, озадачен тем, что на C# ответы для этой задачи не принимаются, как-то надо перевести в обычный C++, коего у меня нет и проверить - не на чем...
Реализовал на C#, проверил, перевел на С++ и без проверки на компилируемость (не на чём, блин!) запостил. Сразу получил акцепт с временем 0.01 :-)

Что порекомендуете суперлёгкое для таких целей? Чтобы IDE и компилятор для С++ - в однм флаконе?

Охота своё решение WATER с C# на С++ перегнать и запостить, а то задачу решил, а силами (гусары - молчать!!!) померяться - не дают...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102246
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovПарни, вы чёго? Я же ещё вчера дал правильный ответ:
VadimPanov
Правильный ответ: Дания. Среди названных стран это - единственное королевство.
Это говорит о чём?
1) Даже если вопрос примитивен, один из десяти человек поймёт его неправильно (закон Мёрфи)
2) Дискуссия на форумах редко протекает с ВНИМАТЕЛЬНЫМ изучением ответов участников

:-)
не допонял про единственное королевство

http://www.calend.ru/holidays/0/0/1360/ Нынешний правитель Швеции - король Карл XVI Густав, седьмой по счету из славного рода Бернадот. Он взошел на престол в двадцатисемилетнем возрасте, 15 сентября 1973 года.
Карл Густав Фольке Хубертус, гер
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102394
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, что географ, политик и историк дадут РАЗНЫЕ ответы на этот вопрос. Но самое парадоксальное, что каждый из них будет по своему прав.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102405
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz
не допонял про единственное королевство

Точно, опять мой косяк... Ну, везде облажался!
Меняем Швецию на Финляндию.

По IDE кто-то подскажет мне?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102419
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovtchingiz
не допонял про единственное королевство

Точно, опять мой косяк... Ну, везде облажался!
Меняем Швецию на Финляндию.

По IDE кто-то подскажет мне?
я юзаю DevC++, мне вполне хватает


- Bloodshed Dev-C++ 4 -

* What is Dev-C++ ?

Dev-C++ is a full-featured integrated development environment (IDE), which is able to create Windows or dos-based C/C++ programs using the Mingw compiler system (included with this package), or the Cygwin compiler.

* License

Dev-C++ is distributed under the GNU General Public License (see Copying.txt). It is freely distributable.

* Installing :

Be sure to uninstall any previous version of Dev-C++ before installing.

Run Setup.exe and follow the instruction.

if you are missing WININET.DLL on your Windows 95 system, you can download it at: http://www.rocketdownload.com/supfiles.htm

* Help

You will find help in the Help menu of Dev-C++. There are some help files for you to learn how to use it. If you encounter problem, you can take a look at the Dev-C++ about box.

Good programming ;-)
Colin Laplace
webmaster@bloodshed.net
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102497
RT813.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonЯ думаю, что географ, политик и историк дадут РАЗНЫЕ ответы на этот вопрос. Но самое парадоксальное, что каждый из них будет по своему прав.
Это вопрос из разряда "Кого ты больше любишь: маму или папу?"
Чё может ответить 5-летнее дитё? Любит обоих одинаково,
но сам вопрос вынуждает его делать выбор.

Но это же РЕБЕНОК.
А нормальный взрослый развитый человек просто обязан посылать
найюг вопросы типа этого, "про страны".
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36102859
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю, вопрос прозвучал в тестах IQ.

Какой жестокий цинизм!!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36103097
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНасколько я понимаю, вопрос прозвучал в тестах IQ.

Какой жестокий цинизм!!
конечно
Я же ни в коем случае ни Вадима "обвиняю"
Только тупых психологов
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36103879
qaqaqa88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автормухахахахаха

как поет Глюкоза: Два ответа сразу, если ты задашь один вопрос...
А я уже почти считал Вас образованным человеком... ))
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36103894
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qaqaqa88автормухахахахаха

как поет Глюкоза: Два ответа сразу, если ты задашь один вопрос...
А я уже почти считал Вас образованным человеком... ))
я не скажу что я большой фанат Глюкозы, но многие ее песни мне очень нравятся
Под настроение конечно :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36103938
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще мемберы
пока вы не слышали ЖИВОЙ правильный поющий женский голос в метре от себя,
считайте что вы и не жили (программиздирование можно смело засунуть в задницу).
Именно живой, не запись и т.д.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36105976
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1
Я бы тебе лучше порекомедовал http://www.spoj.pl/problems/TRICOUNT/

Можешь показать своё решение? Я написал на С++, вроде, короче некуда, а всё равно time limit exceeded ...

Кстати, как здоровье? :-)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36106246
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОЙ, МАМОЧКИ...!!!!!!

Сдаётся мне, что ответы по задаче WATER в точности совпадают с ответами по задаче TRICOUNT...
Или я совсем плох... Короче, я домой поехал, а то у меня дежа вю, похоже...

ЗЫ: или обе задачи - суть одно и то же, просто с разным графическим представлением...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36106322
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага конечно могу (код ниже)
Я смутно помню что пытался найти точную формулу, но не смог.
Всё пытаюсь избавиться от дурацкой привычки всё решать "в голове",
вместо того чтобы взять бумагу и ручку и подумать по-настоящему.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
{$I-, Q-, R-, S-}

var t, i, j, mx: longint;
a: array[ 1 .. 1000000 ] of int64;
w: int64;

begin
a[ 1 ] :=  1 ; a[ 2 ] :=  5 ; a[ 3 ] :=  13 ; mx :=  3 ;
readln(t);
repeat
readln(j);
if j > mx then
begin
for i := mx +  1  to j do
begin
w := i;
a[i] := a[i- 1 ] + ( 2  * w -  1 ) + ((w * (w -  1 )) div  2 );
if odd(i) then a[i] := a[i] + (((w -  3 ) * (w -  1 )) div  4 ) else
a[i] := a[i] + (((w -  2 ) * (w -  2 )) div  4 );
end;
mx := j;
end;
writeln(a[j]);
dec(t); until t =  0 ;
end.

как здоровье? ой не спрашивай; полностью отравлен
(я действительно отравился переперченной колбасой; рвало что пипц)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36107758
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RT183.1, отравился - попробуй энтеросгель. Снимает симптомы за полчаса (намного лучше активированного угля). Сам пробовал. Хотя видел вроде более мощный сорбент.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36107866
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinoRT183.1, отравился - попробуй энтеросгель. Снимает симптомы за полчаса (намного лучше активированного угля). Сам пробовал. Хотя видел вроде более мощный сорбент.
спасибо за хинт (никогда не слышал)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110212
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

так как насчёт идентичности задач про квадраты и треугольники? И может ли на таких простых входных данных сказываться скорость чтения через scanf ? Djn такой код тоже не спасает, всё равно лимит по времени превышается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
int r_d()
{
 int r= 0 ;
 char c=getchar();    
 while ((c<'0')|(c>'9')) c=getchar();           
 while ((c>='0')&(c<='9')){r=r* 10 +c-'0';c=getchar();}
 return r;
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110340
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как это -- идентичные? чёт не догоняю
PS
Конечно метод чтения в этой задаче совершенно никак не скажется на времени.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110512
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1как это -- идентичные? чёт не догоняю

1) Сравни входные данные и результаты обоих программ.
2) Обрати внимание на то, что количество элементарных фигур, которые требуют подсчёта) растёт в квадратичной зависимости от заданного входным параметром "уровня".
3) Мысленно преобразуй те же треугольники - в квадраты из первой задачи.

"Якорь мне в ж..у с проворотом, если это не то же самое!" (с)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110654
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм..... надо будет проверить
Если это так, то на мой взгляд это удивительно
Я буду ПОТРЯСЕН
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110660
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

будь добр, сделай как можно быстрее, у меня в обоих случаях превышение времени выдаёт, хотя вычисления (ИМХО) даже проще, чем у тебя.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36110988
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, Вадим, сорри, но чуда не случилось

для например входного 22

У Фейнмана ответ = 3795

а у ТРИКАУНТ = 2970
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36111731
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

у меня в обоих случаях SPOJ выдаёт time limit exceeded, так что проверить не могу, на компе уменя обе задачи выдают одинаковый ответ.

Не понимаю, почему так долго считает, алгоритмы, вроде, простые...

Feynman:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
#include <cstdio>
#include <cstdlib>

using namespace std;

int main() 
{
    int n;
    int r;
    scanf("%d", &n);
    while (n!= 0 ) 
    {
      if (n >= 4  )
      {
          r =  8  +  4  +  1  +  1 ;
          for (int i=  4 ; i <= n; i++)
          {
             r += i*i;
          }
      }
      else
      if (n ==  1 ) r =  1 ;
      else
      if (n ==  2 ) r =  5 ;
      else
      if (n ==  3 ) r =  14 ;

      printf("%d\n", r);
      scanf("%d", &n);
    }
    return EXIT_SUCCESS;
} 

Tricount:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include <cstdio>
int main(int argc, char *argv[])
{
 int tc, lv;
 scanf("%d", &tc);
 while (tc >  0 )
 {
  scanf("%d", &lv);     
  int r =  0 ;
  for (int cl =  1 ; cl <= lv; cl++)
  {
     int z1 = lv - cl;
     int z2 = lv -  2 *cl;
     r += ((z1 +  2 )*(z1 +  1 ) + (z2 +  2 )*(z2 +  1 ))/ 2 ;
  }
  printf("%d\n", r);
  tc--;
 }
return  0 ;//EXIT_SUCCESS;
}
И ведь не wrong result выдаёт, а именно time limit exceeded !!! Где тут собака порылась, а?!!!
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36111764
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, ты не так понимаешь устройство е-джаджа
Конечно у тебя неправильные ответы, но джадж сначала смотрит на вермя,
только потом на правильность ответов
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36112170
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1не, ты не так понимаешь устройство е-джаджа
Конечно у тебя неправильные ответы, но джадж сначала смотрит на вермя,
только потом на правильность ответов
Што, оба неправильные? Я руками считал сперва...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36112432
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попросить тебя обоим задачам скормить входные данные от 1 до 30 и дополнительно значения 1111, 2222, 3333 и выслать мне в личку? Ну, или сюда...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36113125
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Tricount:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 ...
 while (tc >  0 )
 {
  ...
  for (int cl =  1 ; cl <= lv; cl++)
  {
    ...
  }
  ...
И ведь не wrong result выдаёт, а именно time limit exceeded !!! Где тут собака порылась, а?!!!
Лишний вложенный цикл. Ищите сумму арифметических прогрессий через формулы суммы квадратов.

З.Ы.
Мое решение на python самое тяжеловесное по памяти среди остальных питоноводов получилось, хыхы.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36113163
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Feynman:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
 1 
 1 
 2 
 5 
 3 
 14 
 4 
 30 
 5 
 55 
 6 
 91 
 7 
 140 
 8 
 204 
 9 
 285 
 10 
 385 
 11 
 506 
 12 
 650 
 13 
 819 
 14 
 1015 
 15 
 1240 
 16 
 1496 
 17 
 1785 
 18 
 2109 
 19 
 2470 
 20 
 2870 
 21 
 3311 
 22 
 3795 
 23 
 4324 
 24 
 4900 
 25 
 5525 
 26 
 6201 
 27 
 6930 
 28 
 7714 
 29 
 8555 
 30 
 9455 
 1111 
 457727556 
 2222 
- 635616601 
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36113215
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TRICOUNT
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
 1 
 1 
 2 
 5 
 3 
 13 
 4 
 27 
 5 
 48 
 6 
 78 
 7 
 118 
 8 
 170 
 9 
 235 
 10 
 315 
 11 
 411 
 12 
 525 
 13 
 658 
 14 
 812 
 15 
 988 
 16 
 1188 
 17 
 1413 
 18 
 1665 
 19 
 1945 
 20 
 2255 
 21 
 2596 
 22 
 2970 
 23 
 3378 
 24 
 3822 
 25 
 4303 
 26 
 4823 
 27 
 5383 
 28 
 5985 
 29 
 6630 
 30 
 7320 
 1111 
 343604386 
 2222 
 2745747620 
 3333 
 9263425648 
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114076
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим, ну ты чё, ни то, ни другое так и не сдал?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114090
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
me_dvedVadimPanov
Tricount:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 ...
 while (tc >  0 )
 {
  ...
  for (int cl =  1 ; cl <= lv; cl++)
  {
    ...
  }
  ...
И ведь не wrong result выдаёт, а именно time limit exceeded !!! Где тут собака порылась, а?!!!
Лишний вложенный цикл. Ищите сумму арифметических прогрессий через формулы суммы квадратов.

З.Ы.
Мое решение на python самое тяжеловесное по памяти среди остальных питоноводов получилось, хыхы.
так у Питона всегда так: без Psyco ~3.6-3.7MB, с Psyco ~36-40MB
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114150
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Мое решение на python самое тяжеловесное по памяти среди остальных питоноводов получилось, хыхы.

Там в ранк-листе первые 10-20 такие монстрюки -- "оставь надежду всяк сюда входящий".
Я как-то обменялся 4-6 письмами с юзером SPIDY из Индии (он спрашивал у меня как сделать
какую-то задачу, не помню какую). Он даже не знал что scanf работает быстрее cin.
Но объективно он намного лучший прогер чем я. И вообще, индийцы молодцы.
Для меня это в основном развлекуха. Просто жизнь заставила заняться этой хренью.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114222
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но Гена Короткевич (#5) http://www.spoj.pl/ranks/users/ из мово городка
порвет их всех как детишек, включая #1. Просто ему некогда, не разорваться же
сразу на 100 фронтов
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114231
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1Вадим, ну ты чё, ни то, ни другое так и не сдал?
Почему, сделал:
2583794 2009-07-23 15:43:51 Feynman accepted 0.01 2.5M C++

Треугольник тоже сделал, у меня на компе работает очень быстро и выдаёт результаты идентичные твоим. На сподже выдаёт превышение времени выполнения.
Вот код к треугольникам:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#include <cstdio>
int main()
{
 long ms =  1000000 ;  
 long M[ms];
 M[ 0 ] =  0 ;
 for (long i= 1 ;i<ms;i++)
 {
  M[i] = M[i- 1 ]+i;
 }
 long tc;
 scanf("%d", &tc);
 while (tc >  0 )
 {
  long lv =  0 ;
  scanf("%d", &lv);
  long res =  0 ;    
  for (long sz =  1 ; sz <= lv; sz++)    
  {
    long pos = lv - sz +  1 ;
    if (pos >  0 ) {res += M[pos];}
    pos = lv -  2  * sz +  1 ;
    if (pos >  0 ) {res += M[pos];}
  }
  printf("%d\n", res); 
  tc--;    
 }
 return  0 ;
}
Основная идея алгоритма: построив таблицу вэкселе, я заметил, что количество обычных и перевёрнутых треугольников каждого размера для каждого заданного "уровня" соответствует строгому закону, см. рисунок. Задача, фактически, решается в экселе.
Ряд для всех размеров и ориентаций - один и тот же, но сдвинут по вертикали по простому закону, остаётся пробежаться по горизонтали для заданного входными данными уровня, суммируя значения в ячейках массива, индекс которого вычисляется на ходу.

Я использую посоветованный тобой DevC++ , но он, собака, что-то темнит с типами: скомпилированное приложение молча вылетает на первом цикле, где идёт заполнение массива, если уменьшить переменную ms до 50000 - нормально работает. При этом на сподже такого не наблюдается: если оставить в тексте программы только цикл заполнения, а остальное прибить, то сподж выдает wrong result, т.е. цикл отрабатывает нормально. Если остальное не прибивать, то - time limit exceeded. Хотя дальнейшие вычисления у меня гораздо короче твоих.
В общем, диагностика проблемы на сподже слабовата, хотелось бы видеть:
1) правильно ли отрабатывает программа
2) укладывается ли в лимит времени
3) укладывается ли в лимит памяти
именно в такой последовательности.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114234
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понял, картинка не прилипла...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114237
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если бежать по строке 13, то цифры в этой строке укажут количество обычных и перевёрнутых треугольников каждого из размеров, указанных вверху. Тупо суммируя их получаем общее количество для заданной "размерности".
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114260
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, попытка задать размерность массива (фактически - ограничив максимальную размерность треугольника в 50 тыс. вместо миллиона) - провалилась, :-) программа выдала выход индекса за пределы массива, что означает, что они реально скармливают на вход значения больше этих 50 тыс...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114284
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой, Вадим, даж не знаю что сказать
Твой код у меня скомпилился и отработал на отлично.
На сподже ограничения по памяти нет (= 256 М)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114309
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Можешь сравнить по времени со своим?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114315
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot RT183.1
На сподже ограничения по памяти нет (= 256 М)[/quot]
Ну, у меня максимум будет размер лонга (64 бита - 8 байт) * 1000000 = 8 Мб - "ни о чём"
Почему по скорости не проходит - хз, заполнение массива идёт очень быстро, дальнейшие расчёты - минимальны. Почему не проходит по времени - загадка.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114332
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у них машинки древние -- PIII 750MHz
Так сложилось исторически и менять их нельзя, потому что
побьются все рейтинги по скорости, а кто будет заново ри-джаджить
миллионы кодов?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114335
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

о, а если оно сдохнет?
Что скажешь по скорости моего алгоритма? Где может быть затык? Как тебе решение в общем?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114357
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык у них в запасе этих машинок вагон :)
Насчет твоего решения..... ну мне так лениво возвращаться к этой таске.....
Ты уж прости. Ты просто сам подумай
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114361
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

да я не прошу глубокого анализа :-) Просто, если видишь явный затык (хотя,где тут ему спрятаться) - скажи...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114377
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Явного затыка не вижу :) Херово мне просто сейчас, на душе
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114379
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

опять потравился?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114411
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovRT183.1,

опять потравился?
опять
НО
отравление -- это следствие, а не причина :)
А вот что делать с "причиной" -- ХЗ
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114534
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1> Мое решение на python самое тяжеловесное по памяти среди остальных питоноводов получилось, хыхы.

Там в ранк-листе первые 10-20 такие монстрюки -- "оставь надежду всяк сюда входящий".

Получилось с натягом 19-е место. Разница по времени с лидером раза в 2.
RT183.1>
Я как-то обменялся 4-6 письмами с юзером SPIDY из Индии (он спрашивал у меня как сделать
какую-то задачу, не помню какую). Он даже не знал что scanf работает быстрее cin.
Но объективно он намного лучший прогер чем я. И вообще, индийцы молодцы.
Для меня это в основном развлекуха. Просто жизнь заставила заняться этой хренью.
Успехи в спортивном программировании и навыки разработки по мало связаны. На старой работе видел хорошего кодера, филолога по образованию.

Сам сейчас балуюсь олимпиадными задачками, чтобы остаток знаний после универа не растерять :)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114540
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovКстати, попытка задать размерность массива (фактически - ограничив максимальную размерность треугольника в 50 тыс. вместо миллиона) - провалилась, :-) программа выдала выход индекса за пределы массива, что означает, что они реально скармливают на вход значения больше этих 50 тыс...
Ваша программа осилит эту задачу для N=12345678901234567890123456789012345678901234567890 ?

470419093088414443136679010148821688843634550791843540876783593536197809292222678522457652871506814637418646167210126039437869991452475862419816785
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114665
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Получилось с натягом 19-е место. Разница по времени с лидером раза в 2.

Я ващет имел в виду общий ранк-лист, а не конкретно по этой задаче.
У меня кажется только в одной задаче первое место, уже много лет: http://www.spoj.pl/ranks/ALIENS/
Но я в нее угрохал очень много писанины.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114671
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, те же много лет для меня остается загадкой почему все решения
на первой странице - на ссылке выше -- сделаны на паскале.
Я в принципе тоже содрал из тырнета чужой код на С++, переписал его на Паскале,
но я его сильно модифицировал.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114694
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
me_dvedVadimPanovКстати, попытка задать размерность массива (фактически - ограничив максимальную размерность треугольника в 50 тыс. вместо миллиона) - провалилась, :-) программа выдала выход индекса за пределы массива, что означает, что они реально скармливают на вход значения больше этих 50 тыс...
Ваша программа осилит эту задачу для N=12345678901234567890123456789012345678901234567890 ?

470419093088414443136679010148821688843634550791843540876783593536197809292222678522457652871506814637418646167210126039437869991452475862419816785
Это что, реальный ответ? Как посчитан?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36114699
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovme_dvedVadimPanovКстати, попытка задать размерность массива (фактически - ограничив максимальную размерность треугольника в 50 тыс. вместо миллиона) - провалилась, :-) программа выдала выход индекса за пределы массива, что означает, что они реально скармливают на вход значения больше этих 50 тыс...
Ваша программа осилит эту задачу для N=12345678901234567890123456789012345678901234567890 ?

470419093088414443136679010148821688843634550791843540876783593536197809292222678522457652871506814637418646167210126039437869991452475862419816785
Это что, реальный ответ? Как посчитан?
плин
конечно же реальный!
Это же Питон, в нем нет ограничения на длину целых чисел
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36115633
me_dved
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1> Получилось с натягом 19-е место. Разница по времени с лидером раза в 2.

Я ващет имел в виду общий ранк-лист, а не конкретно по этой задаче.
У меня кажется только в одной задаче первое место, уже много лет: http://www.spoj.pl/ranks/ALIENS/
Но я в нее угрохал очень много писанины.
Если общий, то да... Не среднестатистические умы. По крайней мере, осилили столько задач.
RT183.1Кстати, те же много лет для меня остается загадкой почему все решения
на первой странице - на ссылке выше -- сделаны на паскале.

Странно, почему именно паскаль. Чистый С (не C++) должен шустрее работать. Быстрее только со вставками на asm'е.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36115877
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
Что поразительно они (топы) лупят эти задачи сотнями на многих и разных контестерах, не только на сподже (Сподж относительно молодой контестер).
2.
asm я уж точно не использовал в ALIENS -- просто добавил солидную предобработку
Кстати, как часть контестерного этикета использовать асм считается дурным тоном и не приветствуется
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36116199
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1ага конечно могу (код ниже)
Я смутно помню что пытался найти точную формулу, но не смог.
Всё пытаюсь избавиться от дурацкой привычки всё решать "в голове",
вместо того чтобы взять бумагу и ручку и подумать по-настоящему.

Код: plaintext
...


Твой код для треугольников, на паскале, прекрасно у них работает, а ОН ЖЕ, переведённый с паскаля на С, тоже даёт time limit exceeded!!! И как это понимать? Интерпретатор стал быстрее компилятора или, может, дело в размерности переменных? Типа, какая-то нестыковка в размерности переменных и всё зависает, а система снимает задачу по превышению времени?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
#include <cstdio>
int main()
{
 long t, i, j, mx;
 long a[ 1000000 ];
 long w;
 a[ 1 ]= 1 ;a[ 2 ]= 5 ;a[ 3 ]= 13 ;mx= 3 ;
 scanf("%d", &t);
 do
 {
  scanf("%d", &j);
  if (j > mx)
  {
   for (long i=mx+ 1 ;i=j;i++)
   {
    w=i;
    a[i]=a[i- 1 ]+( 2 *w- 1 )+((w*(w- 1 ))/ 2 );
    if ((i/ 2 * 2 -i)!= 0 ) 
    { 
     a[i]=a[i]+(((w- 3 )*(w- 1 ))/ 4 );
    }
    else
    {
     a[i]=a[i]+(((w- 2 )*(w- 2 ))/ 4 );
    }   
   } 
   mx=j;
  }

  printf("%d", a[j]);
  t--; 
   } while (t >  0 );
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36116244
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чудеса... бум смотреть
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36116347
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
All answers will fit within the range of a 64-bit integer

где у меня в паскале инт64 в Си должно быть long long

и printf("%lld\n", ...)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118004
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RT183.1,

Щас вот сравнил работу твоего кода на паскале для треугольников со своим кодом (перевёл с С на паскаль), скомпилированно всё было в дельфях. Твой код работает значительно быстрее. А вот за счёт чего - не пойму.
Твой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
{$I-, Q-, R-, S-}
var t, i, j, mx: longint;
a: array[ 1 .. 1000000 ] of int64;
w: int64;
begin
   a[ 1 ] :=  1 ; a[ 2 ] :=  5 ; a[ 3 ] :=  13 ; mx :=  3 ;
   readln(t);

   repeat
     readln(j);
    
     if j > mx then begin
        
        for i := mx +  1  to j do begin
            w := i;
            a[i] := a[i- 1 ] + ( 2  * w -  1 ) + ((w * (w -  1 )) div  2 );
            if odd(i) then 
               a[i] := a[i] + (((w -  3 ) * (w -  1 )) div  4 ) 
            else
               a[i] := a[i] + (((w -  2 ) * (w -  2 )) div  4 );
        end;
        mx := j;

     end;
     writeln(a[j]);
     dec(t); 
   until t =  0 ;

end.

Мой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
const ms =  1000000 ;
var
 M:array[ 0 ..ms- 1 ] of int64;
 pos,tc,lv,res:int64;
 sz,i:longint;
 begin

 for i:= 1  to ms- 1  do begin
  M[i]:=M[i- 1 ]+i;
 end;

 readln(tc);
 while(tc> 0 ) do begin

  readln(lv);
  res:= 0 ;

  for sz:= 1  to lv do begin
  
    pos:=lv-sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];
    
    pos:=lv- 2 *sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];

  end;
  writeln(res);
  tc:=tc- 1 ;
 end;
end.
По сути, структура - одинаковая, у меня добавлен цикл предварительного заполнения массива, но он отрабатывает мгновенно. А дальше - в обоих исходниках идёт практически одинаковый цикл с числом иераций, равным очередному входному значению (у тебя он короче на 3 итерации). А внутри цикла мои расчёты даже проще...
Отчего же тогда такая разница в производительности?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118695
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, не понял... Отчего

Код: plaintext
printf("%lld",  128 * 256 * 256 * 256 )

выводит мне

Код: plaintext
- 2147483648 

???????(?)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118831
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimPanov,
1) у тебя на одну проверку больше (условный переход обычно замедляет расчеты)
2) заметил еще {$I-, Q-, R-, S-}, попробуй скомпилится с такими же флагами (это отключение кучи скрытого кода - проверки при расчетах, операциях ввода-вывода...)
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118890
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovТак, не понял... Отчего

Код: plaintext
printf("%lld",  128 * 256 * 256 * 256 )

выводит мне

Код: plaintext
- 2147483648 

???????(?)
я тоже не понимаю
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118895
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот примерчик из ФАКа одного китайского контестера:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Here is an example for "long long": 

#include <stdio.h>

int main(void)
{
	long long a = 1LL <<  48 ;
	printf("%lld\n", a);
	return  0 ;
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118918
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VadimPanovТак, не понял... Отчего

Код: plaintext
printf("%lld",  128 * 256 * 256 * 256 )

выводит мне

Код: plaintext
- 2147483648 

???????(?)компилятор работает только со знаковым 32-битным целым, попробуй явно привести к беззнаковому или 64-битному
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118937
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это тоже не помогает
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36118960
Фотография RT183.1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас глянул на их форуме: http://www.spoj.pl/forum/viewtopic.php?f=3&t=5789

Это же надо было не полениться стругануть фибоначчиеву кучу для этой хрени (shortest path), ыхыхыхых

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
# include <iostream>
# include <vector>
# define MAX  15 
using namespace std;

vector <pair<int, int> > v[ 10000 ]; //Adjacency list
vector <pair <int,int> >::iterator it;
int cost[ 10000 ]; //Cost of each vertex

//Compare function
bool cmp(int a, int b)
{
    return cost[a]<cost;
}

//Class Node
class Node{
    public:
        int key; //Value
        int size; //Size of the child list
        int degree; //Degree
        Node *child; //Reference to the first element of the child list
        Node *left; //Left element
        Node *right; //Right element
        //Constructor
        Node(int value)
        {
            this->size= [b]0 ;
            this->key=value;
            this->degree= 0 ;
            this->child=NULL;
            this->left=this;
            this->right=this;
        }
        //Destructor
        ~Node(){}
        //Methods
        void insert(Node *n);
        //Print the child list
        void printNode() {
            int i, t=this->size;
            printf("%d (", this->key);
            Node *n=this->child;
            for (i= 0 ;i<t;i++) {
                n->printNode();
                n=n->right;
            }
            printf(") ");
        }
};

//Fibonacci Heap class
class FibonacciHeap
{
    public:
        int size; //Number of elements in the root list
        Node *minimum; //Reference to the element with the smallest value
        Node *first; //Reference to the first element of the root list
        //Constructor
        FibonacciHeap() {
            this->size= 0 ;
            this->minimum=NULL;
            this->first=NULL;
        }
        //Destructor
        ~FibonacciHeap(){};
        //Methods
        bool empty();
        void insert(Node *n);
        void merge(FibonacciHeap *fh);
        int minKey();
        void consolidate();
        //Print the Heap elements
        void printHeap()
        {
            int i;
            Node *x=this->first;
            for (i= 0 ;i<this->size;i++) {
                x->printNode();
                putchar(' ');
                x=x->right;
            }
            putchar('\n');
        }
};

//Function that inserts a child into the child list. O( 1 )
void Node::insert(Node *n)
{
    if (this->size== 0 ) {
        this->child=n;
        this->child->right=n;
        this->child->left=n;
    }
    else {
        n->right=this->child;
        n->left=this->child->left;
        this->child->left->right=n;
        this->child->left=n;
    }
    this->size++;
    this->degree++;
}

/*Function that returns true if the heap is empty, otherwise, returns false.
O(1)*/
bool FibonacciHeap::empty()
{
    return this->size== 0 ;
}

/* Function that inserts a node into the root list. O(1)*/
void FibonacciHeap::insert(Node *n)
{
    if (this->size== 0 ) {
        this->first=n;
        this->first->right=this->first;
        this->first->left=this->first;
        this->minimum=this->first;
    }
    else {
        n->right=this->first;
        n->left=this->first->left;
        this->first->left->right=n;
        this->first->left=n;
        if (cmp(n->key, this->minimum->key)) {
            this->minimum=n;
        }
    }
    this->size++;
}

/*Function that returns the key of the node with the smallest value.
O(1) + O(consolidate)*/
int FibonacciHeap::minKey()
{
    int t;
    Node *temp=this->minimum, *childs=this->minimum->child;
    if (temp!=NULL) {
        this->size--;
        if (this->size== 0 ) {
            this->first=NULL;
            this->minimum=NULL;
        }
        else {
            temp->left->right=temp->right;
            temp->right->left=temp->left;
            this->minimum=temp->right;
            if (this->first->key==temp->key) {
                this->first=this->first->right;
            }
        }
        if (childs!=NULL) {
            if (this->size== 0 ) {
                this->first=childs;
                this->minimum=childs;
            }
            else {
                childs->left->right=this->minimum;
                this->minimum->left->right=childs;
                this->minimum->left=childs->left;
                childs->left=this->minimum->left;
            }
            this->size+=temp->size;
        }
        this->consolidate();
        return temp->key;
    }
}

/*Function that consolidates the root list. O(MAX), 
where MAX=lg(n), 0<=n<=10000*/
void FibonacciHeap::consolidate()
{
    int i, d, aux=this->size;
    Node *vv[MAX], *x=this->minimum, *y, *temp, *next;
    for (i= 0 ;i<MAX;i++) {
        vv[i]=NULL;
    }
    for (i= 0 ;i<aux;i++) {
        d=x->degree;
        next=x->right;
        while (vv[d]!=NULL)  {
            y=vv[d];
            if (x->key > y->key) {
                y->insert(x);
                x=y;
            }
            else {
                x->insert(y);
            }
            vv[d]=NULL;
            d++;
        }
        vv[d]=x;
        x=next;
    }
    this->first=NULL;
    this->minimum=NULL;
    this->size= 0 ;
    for (i= 0 ;i<MAX;i++) {
        if (vv[i]!=NULL) {
            this->insert(vv[i]);
        }
    }
}

int dijkstra(int ini, int fin){
    int i,j;
    FibonacciHeap *fh=new FibonacciHeap();
    memset(cost,0x3f3f3f3f,sizeof cost);
    cost[ini]= 0 ;
    fh->insert(new Node(ini));
    while(!fh->empty()){
        i=fh->minKey();
        if (i==fin)
            break;
        for(it=v[i].begin();it!=v[i].end();it++){
            if (cost[i]+(*it).second<cost[(*it).first]){
                cost[(*it).first]=cost[i]+(*it).second;
                fh->insert(new Node((*it).first));
            }
        }
    }
    return cost[fin];
}

int read(){
    int r= 0 ;
    char c;
    while(!isdigit(c=getchar()));
    while(isdigit(c)){
        r=r* 10 +(c-'0');
        c=getchar();
    }
    return r;
}

int main(){
    char c[ 10000 ][ 11 ],ini[ 11 ],fin[ 11 ];
    int t,n,i,j,k,m;
    pair <int, int> p;
    t=read();
    while(t--){
        n=read();
        for(i= 0 ;i<n;i++){
            v[i].clear();
            scanf("%s",c[i]);
            m=read();
            for(j= 0 ;j<m;j++){
                p.first=read()- 1 ;
                p.second=read();
                v[i].push_back(p);
            }
        }
        m=read();
        for(i= 0 ;i<m;i++){
            scanf("%s%s",ini,fin);
            for(j= 0 ;j<n && strcmp(ini,c[j])!= 0 ;j++);
            for(k= 0 ;k<n && strcmp(fin,c[k])!= 0 ;k++);
            printf("%d\n",dijkstra(j,k));
        }
    }
    return  0 ;
}
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119395
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vinoVadimPanov,
1) у тебя на одну проверку больше (условный переход обычно замедляет расчеты)

Твой алгоритм на файле с 99999 входными значениями отрабатывает меньше, чем за секунду, а мой - больше, чем за минуту! Отчего такая разница?!!!
Давай посмотрим ещё раз циклы (всё остальное, по сути - одинаковое, заполнение массива у меня занимает меньше секунды):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        for i := mx +  1  to j do begin
            w := i;
            a[i] := a[i- 1 ] + ( 2  * w -  1 ) + ((w * (w -  1 )) div  2 );
            if odd(i) then 
               a[i] := a[i] + (((w -  3 ) * (w -  1 )) div  4 ) 
            else
               a[i] := a[i] + (((w -  2 ) * (w -  2 )) div  4 );
        end;
В каждой итерации цикла от 4-х до N*10^6 (т.е. тот факт, что от 4-х, а не от 1 - несущественен)
происходит следующее:

1 действие: присвоение
2 действие: чтение элемента массива, 4 сложения, 2 умножения, 1 деление, запись элемента
3 действие: проверка с переходом
4 действие: чтение элемента массива, 2 сложения, 1 умножение, 1 деление, запись элемента
Итого на итерацию цикла: 1 присвоение, 2 чтения и 2 записи элемента массива, 6 сложений, 3 умножения, 2 деления

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
  for sz:= 1  to lv do begin
  
    pos:=lv-sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];
    
    pos:=lv- 2 *sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];

  end;
Для моего цикла (в самом худшем случае):
1 действие: 2 сложения, 1 присвоение
2 действие: проверка, 1 чтение элемента массива, 1 сложение
3 действие: 2 сложения, 1 умножение, 1 присвоение
2 действие: проверка, 1 чтение элемента массива, 1 сложение
Итого на итерацию цикла: 4 присвоения, 2 чтения элемента массива, 6 сложений, 1 умножение

Видно, что мои вычисления - проще. Отчего такая огромная разница - я не понимаю...

Можно, кстати, мой алгоритм и так записать (не думаю, что сильно спасёт):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
  for sz:= 2  to lv+ 1  do begin
  
    pos:=lv-sz;
    if(pos> 0 )then res:=res+M[pos];
    
    pos:=lv- 2 *sz;
    if(pos> 0 )then res:=res+M[pos];

  end;

Будет на пару сложений меньше...

vino
2) заметил еще {$I-, Q-, R-, S-}, попробуй скомпилится с такими же флагами (это отключение кучи скрытого кода - проверки при расчетах, операциях ввода-вывода...)
Оба варианта компилировал в пятых дельфях в одинаковых условиях. Может, конечно, это как-то и влияет, но не настолько же. Скажи, что каждый параметр означает, я поставлю те же дельфозные.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119418
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov,

А разница то здесь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   if j > mx then begin
       for i := mx +  1  to j do begin // Цикл не от нуля а  от j считанного на предыдущей итерации
            w := i;
            a[i] := a[i- 1 ] + ( 2  * w -  1 ) + ((w * (w -  1 )) div  2 );
            if odd(i) then 
               a[i] := a[i] + (((w -  3 ) * (w -  1 )) div  4 ) 
            else
               a[i] := a[i] + (((w -  2 ) * (w -  2 )) div  4 );
        end;
        mx := j;
    end;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
   for sz:= 1  to lv do begin // цикл всегда с единицы
  
    pos:=lv-sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];
    
    pos:=lv- 2 *sz+ 1 ;
    if(pos> 0 )then res:=res+M[pos];

  end;
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119430
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanovзаполнение массива у меня занимает меньше секунды
А МОЖЕТ ОНО У НИХ ТАМ ЗАНИМАЕТ МНОГО ВРЕМЕНИ??? Хз, чем они там компилят и на какой платформе запускают...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119432
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
В каждой итерации цикла от 4-х до N*10^6 (т.е. тот факт, что от 4-х, а не от 1 - несущественен)

Каждая итерация не от 4-х, присмотрись внимательно.
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119974
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
clihlt,

Да, точно, не заметил сразу...
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36119991
Фотография VadimPanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov
Твой код для треугольников, на паскале, прекрасно у них работает, а ОН ЖЕ, переведённый с паскаля на С, тоже даёт time limit exceeded!!! И как это понимать?
RT183.1чудеса... бум смотреть
Не разбирался с этим?
...
Рейтинг: 0 / 0
Каким алгоритмом можно заполнить все озёра рельефа водой?
    #36120367
clihlt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VadimPanov,

Таже самая проблема и в C. Ну может еще разве что с лонг лонг.
...
Рейтинг: 0 / 0
261 сообщений из 261, показаны все 11 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Каким алгоритмом можно заполнить все озёра рельефа водой?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]