Сохранен 77
https://2ch.su/b/res/104434354.html
Добавлена поддержка Ежчана (ejchan.net, ejchan.site). Набегаем, тестируем архивацию, сообщаем о замеченных проблемах.
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
[Помогите с задачей!] Аноним 21/10/15 Срд 18:28:15 #1 №104434354 
14454412956830.jpg
Сап, /b, срочно нужна твоя помощь с задачкой на Pascal, посему в тред призываются программисты. Суть задачи:

Имя входящего файла: numbers.in

Имя выходящего файла: numbers.out

Ограничение по времени: 2 секунди

Ограничение по памяти: 64 мегабайт

Дано 3 числа. Между ними можно ставить знаки математических операций: умножение, деление, вычитание, сложение или объеденить соседние числа.
Вопрос:
Сколько разных значений может получиться в результате вычисления полученных таким образом выражений?

Формат входящих данных: одна строка входящего файла содержит 3 целых числа в интервале от 0 до 1000, разделенных пробелами.

Формат выходящих данних: выходящий файл должен содержать одно целое число - ответ к задаче.

Пример входящих та выходящих данных:

numbers.in:
2 2 8
numbers.out:
21

Пояснения к примеру:
Все возможные выражения:
2 + 2 + 8 = 12
2 + 2 - 8 = -4
2 + 2 8 = 18
2 + 2 / 8 = 2.25
22+8=30
22-8=14
228
2 - 2 + 8 = 8
2 - 2 - 8 = -8
2 - 2
8 = -14
2 - 2 / 8 = 1.75
228=176
22/8=2.75
2
2 + 8 = 12
2 2 - 8 = -4
2
2 8 = 32
2
2 / 8 = 0.5
2+28=30
2-28=-26

Разные значения: -14, -8, -7, -4, 0.125, 0.5, 1.75, 2.25, 8, 9, 12, 18, 32,30,176,14,228,2.75, 56, -26, 0.0714. Всего 21 значение.


По какому принципу решать сию задачу?
Первокурсник-18лвл, если не сделаю до завтра - мне пиздец.
Аноним 21/10/15 Срд 18:31:15 #2 №104434610 
Бамп
Аноним 21/10/15 Срд 18:32:18 #3 №104434713 
Первое что в голову приходит в голову это вложенные циклы.
Аноним 21/10/15 Срд 18:32:35 #4 №104434745 
>>104434713
Я упорот, не слушай меня.
sageАноним 21/10/15 Срд 18:34:28 #5 №104434918 
>>104434354 (OP)
>2 секунди
Сажи хохлу
Аноним 21/10/15 Срд 18:34:58 #6 №104434959 
>>104434354 (OP)
Комбинаторика перестановки. Вычксляй все возможные ответы и убирай повторы.
Аноним 21/10/15 Срд 18:36:29 #7 №104435090 
>>104434713
this, или пусть рекурсивно делает, но это дольше выполнятся будет.
Аноним 21/10/15 Срд 18:37:37 #8 №104435190 
>>104434354 (OP)
Да ты даже не гуглил.
http://www.programmersforum.ru/showthread.php?t=189116
Аноним 21/10/15 Срд 18:38:29 #9 №104435260 
>>104434959
Щас может решу тебе. Хорошее сегодня настроение. Но мне лень поэтому будет долго. Жди часа 2 если не вернусь, то уже не решу. Только кинь пример на пастебин. Лень звёздочки восстанавливать.
Аноним 21/10/15 Срд 18:42:48 #10 №104435674 
1) Генерируешь все возможные варианты (кол-во можно ограничить временем и/или числом вариантов)
2) Исполняешь их.
3) Ответ либо найден либо нет, выбираешь наилучший из них если их больше одного.
Аноним 21/10/15 Срд 18:43:01 #11 №104435690 
2015

Паскаль
sageАноним 21/10/15 Срд 18:43:54 #12 №104435764 
Сдохни, мразь.
Аноним 21/10/15 Срд 18:44:01 #13 №104435779 
>>104435690
Не плохой язык кстати
sageАноним 21/10/15 Срд 18:45:17 #14 №104435890 
Поссал на мухосранских школьников.
Аноним 21/10/15 Срд 18:48:54 #15 №104436244 
>>104435260
Сейчас закину
>>104435690
В нашей шараге его первые 2 года учат
>>104435190
Гуглил, лол, но за ссылку спасибо!
>>104435890
Извини, Батя - слесарь, мать - повариха. Я ничего не могу с этим поделать.
sageАноним 21/10/15 Срд 18:50:16 #16 №104436375 
Саги унтерменшам. Когда же вы все сдохнете?
Аноним 21/10/15 Срд 18:52:57 #17 №104436637 
задачки спортивного прогерства. Желаю тебе поскорее от них отделаться.
Аноним 21/10/15 Срд 18:57:17 #18 №104437079 
>>104435260
БЛя. Алгоритм совмещённый. 5 сочетаний по 2 элемента которые переставляются. Это в примере. Проще всего указатели на функции делать. Кресты не примут?
Аноним 21/10/15 Срд 18:58:21 #19 №104437189 
>>104435260
http://pastebin.com/SBa1zZHf
>>104437079
>>104436637
С этим вообще пиздец, только Паскаль и ничего более.
Аноним 21/10/15 Срд 18:59:43 #20 №104437321 
О, тред то что надо. Посоны, как распаковать образ из 1,5 гигового архивчика. Комп не может распаковать. Нужно как-то через сеть.
Аноним 21/10/15 Срд 19:00:11 #21 №104437368 
18 | 1 | 11 вот это ,кстати, что?
Аноним 21/10/15 Срд 19:00:13 #22 №104437373 
>>104434918
В упругую попку выебал бы его?
Аноним 21/10/15 Срд 19:03:17 #23 №104437684 
>>104437373
>Батя - слесарь
его?
Аноним 21/10/15 Срд 19:04:07 #24 №104437761 
14454434470690.jpg
>>104437321
Аноним 21/10/15 Срд 19:04:57 #25 №104437856 
Ограничения в 3 числа. Значит между ними будет 2 действия и равно.
Всего 4 разных действий, значит 16 разных вариантов.
Просто подставляешь числа и все. Непонимаю сложности.
Аноним 21/10/15 Срд 19:05:56 #26 №104437937 
Ах еще объединение соседних чисел - то 25.
Аноним 21/10/15 Срд 19:06:06 #27 №104437957 
>>104434354 (OP)
>>104434354 (OP)
http://pastebin.com/SBa1zZHf
http://pastebin.com/SBa1zZHf
http://pastebin.com/SBa1zZHf
Обновленная паста без проебаных знаков.
Аноним 21/10/15 Срд 19:06:27 #28 №104437992 
14454435873220.jpg
>>104437761
бумп вопросу №2
кто еще умеет читать эти кракозяблики?
sageАноним 21/10/15 Срд 19:06:34 #29 №104438006 
>>104434354 (OP)
Олимпиадки))
Аноним 21/10/15 Срд 19:07:10 #30 №104438076 
>>104434354 (OP)
>секунди
Помог бы тебе, но ты хохол.
в школе ходил на олимпиады по паскалю
sageАноним 21/10/15 Срд 19:08:49 #31 №104438253 
>>104437957
1. В русском и многих других языках десятичные дроби разделяются запятыми.
2. Дефис =\= тире
Аноним 21/10/15 Срд 19:10:41 #32 №104438451 
>>104434354 (OP)
>Имя входящего файла: numbers.in
>
>Имя выходящего файла: numbers.out
>
>Ограничение по времени: 2 секунди
>
>Ограничение по памяти: 64 мегабайт

Никогда не понимал этой олимпиадной хуйни из 90-х. Нахуй в 2015 дрочить ограничения и секунды? Еще задать имена для файлов топ кек всегда пишу 1
Аноним 21/10/15 Срд 19:10:46 #33 №104438461 
>>104437856
> 4 разных действий
>>104437856
их 5.
Аноним 21/10/15 Срд 19:11:03 #34 №104438497 
14454438632520.jpg
>>104437992
Аноним 21/10/15 Срд 19:12:10 #35 №104438626 
>>104438451
Никогда не понимал зачем нужна быстрая сортировка. Всегда использовал только сортировку пузырьком. Комп ни разу не завис.
Аноним 21/10/15 Срд 19:12:31 #36 №104438664 
>>104437321
бумп
Аноним 21/10/15 Срд 19:12:43 #37 №104438684 
>>104436244
>В нашей шараге его первые 2 года учат
Зачем? Бросай шарагу и пиздуй в рандом нью зеландию работать макакой без опыта за 1000-3000 с современной хуетой
Аноним 21/10/15 Срд 19:12:50 #38 №104438696 
>>104437321
бумп х
Аноним 21/10/15 Срд 19:13:45 #39 №104438811 
>>104438626
Я и пузырек не юзал. На 1 курсе была лсд сортировка и пирамидальная вставка как-то так
Аноним 21/10/15 Срд 19:16:05 #40 №104439063 
Пользуюсь случаем спрошу.
Есть у кого линейный поиск с барьером, реализованный на паскале?
Аноним 21/10/15 Срд 19:16:44 #41 №104439131 
>>104434354 (OP)
КАКОЙ СИНЕНЬКИЙ УНЯНЯ
А так демоническим программированием ебашь. Для результата каждой операции над двумя числами слева (5 штук) проверяешь результат каждой операции над ним и числом справа (25 штук), собирая различные результаты в чём-нибудь удобнодополнябельном, дерево бинарного поиска или типа того. Повторяешь с парой правых чисел и левым числом. 50 действий на задачу. Если догнать арифметики, можно и меньше, но нахуй надо?
Аноним 21/10/15 Срд 19:17:19 #42 №104439187 
>>104438684
Я и сейчас работаю html-макакой, за 500$ в месяц, в шарагу хожу ради вышки, +небольшая база по алгоритмам.
Аноним 21/10/15 Срд 19:29:26 #43 №104440395 
бамп. оп пиздуй в програмач.
Аноним 21/10/15 Срд 19:55:45 #44 №104442854 
бамп
Аноним 21/10/15 Срд 20:08:14 #45 №104444034 
Ещё решаю не выкатывайся.
Аноним 21/10/15 Срд 20:16:12 #46 №104444784 
>>104434354 (OP)
Зачем перебирать, количество комбинаций 5 в квадрате = 25. Удивительно что паскакал еще в 2015 жив, лол
Аноним 21/10/15 Срд 20:18:35 #47 №104445005 
>>104444784
РАССЕЯ
Аноним 21/10/15 Срд 20:27:20 #48 №104445831 
бамп
Аноним 21/10/15 Срд 20:39:39 #49 №104446924 
бамп
sageАноним 21/10/15 Срд 20:43:33 #50 №104447257 
>>104434354 (OP)
Олимпиадничек пришел? Ну привет, олимпиадничек.
Почему у вас там первокурам олимпиадные задачи задают?
А задача решается простым перебором того, что там было описано (чисел-то три).
Смотри.
У тебя 3 числа, 5 операций, итого возможно всего 25 различных вариантов.
Тебе нужен массив на 25 значений и подсчет числа уникальных.
Так как задача олимпиадная, скорее всего нуля на входе не появится (но на всякий случай учитывай этот вариант в тех местах, где есть деление).
Аноним 21/10/15 Срд 20:44:10 #51 №104447304 
14454494509570.png
готов говнокод. лень его приукрашивать. лучше бы все возможные варианты вручную перебрал.
http://pastebin.com/CDMXyBNM
sageАноним 21/10/15 Срд 20:44:17 #52 №104447318 
>>104435690
А что, фрипаскакаль очень даже годная вещь.
Аноним 21/10/15 Срд 20:47:23 #53 №104447568 
>>104447318
Месье копрофаг, спешите видеть.
Аноним 21/10/15 Срд 20:47:51 #54 №104447629 
>>104447257
Числа не 3, а n. Какой алгоритм тогда?
Аноним 21/10/15 Срд 20:48:10 #55 №104447650 
>>104447257
>>104447304
спасибо!
Аноним 21/10/15 Срд 20:50:15 #56 №104447862 
>>104447257
> У тебя 3 числа, 5 операций, итого возможно всего 25 различных вариантов.
Ты еще не понял, где соснул?
sageАноним 21/10/15 Срд 20:50:44 #57 №104447909 
>>104438451
> Нахуй в 2015 дрочить ограничения и секунды?
Чтобы не решали полным перебором, очевидно же.
Плюс - это ограничения "проверятора", который тупо дропает процесс если он начинает жрать больше положенного. Вас поди много, а проверять один вариант полтора часа (кто его знает что ты там напихал?) никто не будет.
А вместо имен файлов используют потоки ввода и вывода - тоже для автоматизированной проверки.
sageАноним 21/10/15 Срд 20:51:37 #58 №104447998 
>>104439131
Динамическое программирование на таких объемах? Но зачем?
Аноним 21/10/15 Срд 20:52:48 #59 №104448125 
>>104447998
Там не в этом проблема, а в приоритетах.
sageАноним 21/10/15 Срд 20:53:31 #60 №104448178 
>>104447629
> Дано 3 числа.
Я что-то не так прочел?
>>104447862
В задаче числа не меняют местами. По условию. Это же показано в пояснении к задаче.
Где я соснул?
sageАноним 21/10/15 Срд 20:54:03 #61 №104448232 
>>104448125
Для указанных условий, с 25 возможными вариантами, я не вижу смысла в динамике.
Аноним 21/10/15 Срд 20:56:58 #62 №104448501 
>>104447257
Точно такой же.
Разве что массив/дерево будет размером не 25, а 5^(n - 1) элементов.
Аноним 21/10/15 Срд 20:57:07 #63 №104448513 
>>104447909
>А вместо имен файлов используют потоки ввода и вывода - тоже для автоматизированной проверки.
Кстати на область ездил там чекер давали чтобы самим проверить. Там был батник который тупо копипастит файлы с тестами в папку с скомпилированной программой и переименовывает их. А потом сравнивает вывод с уже готовым. Никакой проверки исходников несмотря на запрет ассемблерных вставок. Взломал его за час. Крутое у нас рашкообразование?
Аноним 21/10/15 Срд 20:58:57 #64 №104448701 
>>104448178
>Я что-то не так прочел?
Нет. Но это повезло что задачу так упростили. Дали частный случай который по силам решить даже дауну. А если дадут общий случай? Я серьёзно. Знает кто как тогда решать?
sageАноним 21/10/15 Срд 21:00:32 #65 №104448871 
>>104448513
А как ты представляешь алгоритмическую проверку исходников, няша?
Если по-хорошему, это все должно в банальном чруте запускаться или в виртуалке. Загрузил, скомпилил, запустил, проверил, откатил на дефолт.
И твои ассемблерные вставки идут сам знаешь куда.

>>104448701
Дадут общий случай - буду строить дерево операций. Это ведь обычная задача на перебор.
Аноним 21/10/15 Срд 21:01:15 #66 №104448940 
14454504752260.jpg
>>104448513
> батник
> Взломал его за час
А ты крут.
sageАноним 21/10/15 Срд 21:01:27 #67 №104448962 
>>104448871
Но няша сверху таки права, для произвольного Н имеет смысл строить динамическую таблицу вычисленного в предыдущих шагах, дабы не пересчитывать каждый раз 12345 для того чтобы сложить с шестеркой ,вычесть шестерку, умножить на шестерку и так далее.
Аноним 21/10/15 Срд 21:04:57 #68 №104449273 
>>104448962
Не получится ли так, что при достаточно большом N и малых входных числах, поиск будет работать медленнее вычисления заново.
Аноним 21/10/15 Срд 21:05:34 #69 №104449330 
>>104448871
>А как ты представляешь алгоритмическую проверку исходников
Удалить все коментарии и регулярками искать вставки и обращения к левым файлам?
Аноним 21/10/15 Срд 21:06:51 #70 №104449430 
>>104448962
Приоритет операций как учесть?
sageАноним 21/10/15 Срд 21:09:45 #71 №104449675 
>>104449330
> Удалить все коментарии и регулярками искать вставки и обращения к левым файлам?
Про самомодифицирующийся код и генерацию кода школьник не слышал?
Аноним 21/10/15 Срд 21:10:02 #72 №104449692 
Решил бы на scheme за 2 минуты. Или за 30 минут на паскале.
Аноним 21/10/15 Срд 21:10:32 #73 №104449735 
14454510323170.png
>Ограничение по памяти: 64 мегабайт
>Дано 3 числа
>64 мегабайт

Проиграл на всю комнату, блядь! Это на джаве надо было писать.
Аноним 21/10/15 Срд 21:12:04 #74 №104449855 
>>104434354 (OP)
Рекурсия же.
sageАноним 21/10/15 Срд 21:12:19 #75 №104449881 
>>104449430
Хм. я бы подумал в сторону баллансировки деревьев на высокоприоритетных операциях, но это надо подумать. Это уже интересное замечание.
Или скатился бы в рекурсию, без динамической таблицы (а ведь и правда, зачем нам таблица?)

>>104449692
Вперед, няша. Две минуты у тебя есть.
Аноним 21/10/15 Срд 21:17:22 #76 №104450332 
>>104449675
Можно целый конкурс организовать чтобы улучшить этот распознаватель. А потом его в открытый доступ. На республики какой-то аналог теамвьювера вроде используют чтобы никто не успел сжульничать. Говорили что олимпиус называется или как-то так, но не гуглится.
Аноним 21/10/15 Срд 21:22:11 #77 №104450719 
14454517315210.jpg
>>104449881
> погромист
> подумал
/0
comments powered by Disqus