Карта сайта

Это автоматически сохраненная страница от 19.12.2013. Оригинал был здесь: http://2ch.hk/b/res/59200878.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Чтв 19 Дек 2013 08:36:57
Помощи с Паскалем тред
Помощи с Паскалем тредАнон, помоги решить задачку на злоебучем паскале олимпиада.

У битарда есть N монет достоинств а1, а2, а3..аN рублей. Нам даны два две строчки:
1)C - сумма покупки и N- количество монет у битарда.
2)Достоинство всех монет у битарда.

Определите, сможет ли битард избежать ананльной кары и расплатиться без сдачи. Нам нужно просто вывести "Yes" или "No".


Пример:
In:
10 6
1 20 4 3 11

Out:
Yes

С меня нефть


Чтв 19 Дек 2013 08:40:01
>>59200878
бамп

Чтв 19 Дек 2013 08:42:44
>>59200878
бумп

Чтв 19 Дек 2013 08:43:47
Programm sage
Var opxyi:const;
Begin
Writeln 'YOBa TI';
End.

Чтв 19 Дек 2013 08:47:10
>>59201018
лол

Чтв 19 Дек 2013 08:49:37
Ответ не показательный. При данных, например
11 6
1 2
Ответ да или нет не подойдет, т.к. может быть расплатиться, а может и нет, так что вывод тебе придется переделать в зависимости от условия, которое ты сделаешь.

Чтв 19 Дек 2013 08:52:30
>>59201120
В первой строчке должно быть два т.к. во второй строчке всего две монеты, и да, мы не можем расплатиться, ибо не хватает денег

Чтв 19 Дек 2013 08:52:42
>>59200878
>Пример:
In:
10 6
1 20 4 3 11

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

Чтв 19 Дек 2013 08:53:55
>>59201166
в первой строчке первое число показывает сумму, сколько мы должны заплатить, а второе число - количество монет

во второй строчке перечислены монеты

Чтв 19 Дек 2013 08:54:22
Program ophuisamreshaigovno;
Var ophui: boolean;

begin
ophui := true;
writeln('Оп хуй: 'ophui);
end.

Чтв 19 Дек 2013 08:55:44
>>59201195
clearln забыл.

Чтв 19 Дек 2013 08:56:09
>>59201195
Чем я тебе не угодил? Можешь уйти, если не нравиться

Чтв 19 Дек 2013 08:56:59
>>59200878
Короч примерно так:
if sumM>=sumP then write('Yes')
else write('no').

В начале тебе еще надо будет массив зафигачить, но думаю с этим проблем нет.

Чтв 19 Дек 2013 08:57:52
>>59201170
Если так, как сказал этот кун, то ты ошибся в оп посте и ты эпичный долбоеб и деградант. Это олимпиада для умственно отсталых?

Чтв 19 Дек 2013 08:57:54
>>59201230
>не нравится
Фикс

Чтв 19 Дек 2013 08:58:18
Я не понял, оп. Вводим в программу стоимость покупки, затем выводят ответ да или нет.
То есть говно в кульке стоит 10 интернетов. У битарда есть интернеты номиналом 1 2 3 4 5 интернетов. То есть ответ будет :Yes. Так что ли?

Чтв 19 Дек 2013 08:58:58
>>59201264
лол, охуительные аргументы

Чтв 19 Дек 2013 08:59:19
>>59201244
Ну, на всякий.
sumM-сумма денег, а заодно элементов массива.
sumP-плата.

Чтв 19 Дек 2013 08:59:37

Чтв 19 Дек 2013 09:03:07
Определите, сможет ли битард избежать ананльной кары и расплатиться без сдачи. Нам нужно просто вывести "Yes" или "No".
Program reshenie;
Begin
Write('Yes');
end.
Оп, давай так, если мы тебе решим, то ты в имени программы напишешь yonbaetoti, с пруфами, и что за олимпиада? Городская?

Чтв 19 Дек 2013 09:04:50
>>59201350
Без проблем

Чтв 19 Дек 2013 09:05:30
>>59201350 >>59201373
Я ж уже все решил ему. >>59201244

Чтв 19 Дек 2013 09:05:33
>>59201170
Так вот, если это так, как я сказал раньше, то тогда нужно делать перебор всех возможных сумм элементов массива.
http://forum.sources.ru/index.php?showtopic=262391
ДЖАСТ ГУГЛ ИТ. Второй пост:
>Всего наборов будет 2^N - 1 (если не учитывать пустой набор)
>Так что делаешь цикл от 1 до этого числа, внутри цикла рассматриваешь счетчик цикла как число в двоичной системе, нулевой i-й бит означает, что i-го числа в данном наборе нет, а единичный- что есть, и набираешь сумму.

Но... В двоичную я не знаю, как может паскаль, видимо div 2 только. И цикл от 1 до N^2-1 а потом переменная делится на 2 с остатком N раз и по остатку выбирается, будет элемент массива присутствовать в сумме, или нет. При нахождении выкидывает в Yes, если сумма не получилась, то в No.

Чтв 19 Дек 2013 09:05:50
>>59200878

Основная программа:
1. Сортируем массив монет.
2. Откидываем часть массива с монетами номиналом больше суммы покупки.
3. Можем расплатиться одной монетой в конце? Расплачиваемся.
4. Начинаем цикл от первой до последней монеты и уходим в рекурсию, передавая текущий индекс и стоимость монеты.

Рекурсия:
A. От переданного индекса делаем цикл до последней монеты.
B. Добавляем текущую монету цикла А к сумме, и если:
B.1. Сумма равна сумме покупки, то Yes.
B.2. Сумма меньше суммы покупки, то повторить рекурсию с текущим индексом и новой суммой.
B.3. Сумма больше суммы покупки, то выйти из шага рекурсии.

На Паскале пиши сам.

Чтв 19 Дек 2013 09:05:52
>>59201018
>var
>ophui:const
Зачем? Или это я долбоеб?

Чтв 19 Дек 2013 09:08:03
>>59201380
Ты рассматриваешь сумму всех элементов массива, но ведь битарад может расплатиться выборочно, т.е. не всем монетами

Чтв 19 Дек 2013 09:09:06
>>59201390
БЛЯЯЯ сорри я те в рот насрал.

Чтв 19 Дек 2013 09:09:44
>>59201436
Что?

Чтв 19 Дек 2013 09:09:54
>>59201420
Я просто попой читал, про сдочу не увидел.
Вот и вышло, что если денег хватает, то да, если нет, то нет.

Чтв 19 Дек 2013 09:09:58
>>59200878
Забей хуй на это бесполезное дерьмо.

Чтв 19 Дек 2013 09:11:14
>>59201454
> сдачу
фикс

Чтв 19 Дек 2013 09:13:43
>>59200878
Гугли алгоритм Евклида.

Чтв 19 Дек 2013 09:16:57
>>59201521
Тут он не поможет

Чтв 19 Дек 2013 09:18:55
>>59201592
ОРЛЫ? В свое время писал прогу, которая должна была представить заданное число в виде всех возможных сумм целых чисел. Вроде на algolist.ru валялся исходник.

Чтв 19 Дек 2013 09:24:31
>>59201592
Вот похожая на твою прога http://algolist.manual.ru/maths/combinat/payment1.php

Чтв 19 Дек 2013 09:35:50
>>59201727
http://algolist.ru/maths/combinat/breakaddend.php

Чтв 19 Дек 2013 09:47:07


← К списку тредов