![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Сегодня В Лэти прошёл городской тур олимпиады школьников по программированию(куда я прошёл), задача A мне не далась, хотя около двух часов грыз её(из четырёх). Чувствовал, что я близок к решению, но видно суждено было Бонду застрять в лифте навсегда.
Думаю, что надо как-то использовать прогрессии. Извиняюсь за качество сканирования - vuescan глючит. Присоединённый файл ( Кол-во скачиваний: 82 ) ![]() |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
....не знаю конечно насколько это верно, но так с ходу кажется, что он точно выйдет из лифта, если нажимать кнопки поочерёдно след кол-во раз:
1) 1-ю кнопку 1! раз 2) 2-ю кнопку 2! раз 3) 1-ю кнопку 3! раз и т.д. пока он не выберется.... чем больше n, тем больший факториал придётся посчитать ![]() возможно не совсем экономично с точки зрения ресурсов времени и памяти, однако на первый взгляд - одно из решений.... -------------------- СУВ, Partizan. |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
можно доказать(думаю методом мат. индукции), что общее количество нажатий на клавиши меньше какого-то факториала(опять же навскидку (n+2)!)... а этот факториал можно представить в виде полинома от n...
-------------------- СУВ, Partizan. |
|||
|
||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
А если первая кнопка окажется кнопкой движения вверх? Тогда он будет ехать всё выше и выше... Это школьная олимпиада - про полиномы я не слышал, такое же задание было и у 10-х, 9-х классов. Я пробовал сделать так: Жмём кнопку 1 раз, и предполагаем, что n=1, тогда эта кнопка движет вверх, теперь жмём 2 раза вторую кнопку(B), если двери не открылись, тогда n!=1, ->мы не знаем какая кнопка, что значит. Делаем опять предположения... Вот здесь вся проблема, что нельзя вернуться к исходному состоянию + незнание кнопок --> простой прогрессией или фактериалом не отделаться. Кстати там непросто факториал, движение вверх описывается формулой n(n+j), если я правильно помню(завтра разберу черновики). |
|||
|
||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
А это как? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Единственно, что было про полином - будет круто, если число нажатий < полинома n.
|
|||
|
||||
Partizan |
|
||||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
![]() (n+2)! = (n+2)*(n+1)*(n)*....*(n-k+1) , где k от 1 до n...думаю очевидно что после перемножения будет получен полином... Добавлено @ 21:04 ж) алгоритму без разницы какая кнопка куда везёт лифт... ммм...попробуйте применить алгоритм к конкретным значениям n, допустим 2 или 3....или 4.... для каждого значения n проверьте алгоритм для двух предположений(первая кнопка вверх/первая кнопка вниз) Добавлено @ 21:06
полином = многочлен...запутать вас походу решили жестоко....и испугать страшным словом полином... Добавлено @ 21:12
я тоже не знал что подумать n(n+j) или просто n... несколько раз перечитав задание, я решил, что лифт поднимается вверх постоянно на одно и то же количество этажей...- на n.... там помоему в условии и написано... Бонд проснулся на этаже n.... то есть у нас есть какоето число n.... а дальше ... лифт поднимается вверх на n этажей...то есть на это же самое число... я так подамал предложенный мной алгоритм формально удовлетворяет всем условиям задачи.... -------------------- СУВ, Partizan. |
||||||
|
|||||||
Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
степень которого зависит от аргумента n. Что-то здесь не так. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
в условии сказано полином от n.... вот он так и зависит от n... так, что и и основание и показатель зависят от n.. согласен, смущает немного...
-------------------- СУВ, Partizan. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
под полиномиальной зависимостью обычно понимают, что количество не больше значения некоторого полинома p(n), коэффициенты и степень которого не зависит от n
-------------------- qqq |
|||
|
||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
||||
|
||||
Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
это как? ![]() предположим она даёт указание лифту ехать вверх... тогда 1) 1! вверх в итоге он на 6 этаже 2) 2! вниз - он на 4-м 3) 3! вверх он на (4+6*3) = 22 этаж 4) 4! вниз - он выйдет из лифта на 4!-2 шаге... -------------------- СУВ, Partizan. |
||||
|
|||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Круто, жаль я на олимпиаде не додумал до такого(факториалы никогда не использовал в решении). Задача в пару строк, а я 2 часа потратил на какие-то ветвления.
|
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
а ответы для проверки есть?...
в частности интересует алгоритм, в котором число нажатий меньше полинома, потому как меня тоже смущает то, что в предложенном мной решении степень полинома также зависит от n... -------------------- СУВ, Partizan. |
|||
|
||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 2 Всего: 97 |
Должны скоро разместить на http://neerc.ifmo.ru/school/index.html
Буду ждать, особенно результатов(ожидаются к 27 числу) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |