Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2009, 13:04   #21
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Нашел. Вариант той же задачи - Зайчик.
Скарам, я прав, Ваше решение неверно. Вот мой АС код:
Код:
var input,output:text;
a,b,i,q,j,ost,h:longint;ar:array[0..1000,0..1000] of longint; l:array[0..1000] of longint;
begin
assign(input,'input.txt');reset(input);assign(output,'output.txt');rewrite(output);

readln(input,b,a);
for i:=1 to a do l[i]:=1;l[0]:=1;ar[0,1]:=1;
for i:=0 to a do begin for j:=1 to b do begin ost:=0;if l[i]<l[i+j] then h:=l[i+j] else h:=l[i];for q:=1 to h do begin ar[i+j,q]:=ar[i+j,q]+ar[i,q]+ost;
ost:=ar[i+j,q] div 10;ar[i+j,q]:=ar[i+j,q] mod 10;if q>l[i+j] then inc(l[i+j]);end;if ost>0 then begin inc(l[i+j]);ar[i+j,l[i+j]]:=ost;
end;end;end;
 for i:=1 to l[a] do write(output,ar[a,l[a]-i+1]);writeln(output);

close(input);close(output);
end.
Прописано через длинку, так как в той задаче чуть больше ограничения. Во-первых, так как ограничения все равно далеки от серъезных, то писал на понятном и простом уровне, можно сильно оптимизировать длинку, да и само решение тоже можно немного ускорить. Во-вторых, писал на удобном и понятом мне коде, так как целью был АС на простенькой задаче, а на код на выставку.
Кому надо - розбираемся. При желании - в некоторых местах поменяйте типы на более подходящие, удалите лишние операторные скобки, если они есть, отформатируйте код, сделайте консольный ввод/вывод... Короче, переделывайте

edit В этой строке
Код:
readln(input,b,a);
- поменять местами, (
Код:
readln(input,а,b);
)так как в той задаче на входе числа в другом порядке.

Последний раз редактировалось LeBron; 31.10.2009 в 13:06.
LeBron вне форума Ответить с цитированием
Старый 31.10.2009, 13:28   #22
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

ну так я предположил решение и попробовал увязать это с количеством перестановок цифры 2,3..А,потом учесть,что некоторое количество единиц мы уже использовали и тд....вот только думаю,что нам надо было считать перестановки без повторений...ну да ладно,мне можно ошибаться,я новичек..)
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 31.10.2009, 13:34   #23
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Задача на разбиения, а не на перестановки. Можно, естественно можно ошибаться Кстати, то, что я написал, школьников учат писать одной строкой с помощью рекуррентной формулы. Правда никого не интересует, что она загибается при решении задачи - зато так "проще, понятнее, красивее, короче, и на примерах в пределах десяти работает".
LeBron вне форума Ответить с цитированием
Старый 31.10.2009, 13:55   #24
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

хм...так много умных слов..что же это за школы такие?..у меня кроме таблиц из 0 и 1 ничего не было...)
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 31.10.2009, 14:22   #25
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
хм...так много умных слов..что же это за школы такие?..у меня кроме таблиц из 0 и 1 ничего не было...)
Да во многих школах такое Если школа "специализированная", "гимназия", "лицей", а учителей полноценных в ней толком нету, то это плохо. В лучшем случае - показатели хорошие из-за хорошего "материала" (собрали детей, которые и раньше были умными - и радуются), в худшем - отрицательное влияние школы на человека особенно заметно.
З.Ы. У меня и 0-1 таблиц нету. После провалившейся затеи информатика с обучением детей программированию в прошлом году (за весь год он добился того, что примерно 5 человек на всю школу могли "хелло ворлд" на паскале написать), в этом он решил, что я заниматься буду сам (да в принципе у него и выбора нету, так как именно в программировании на текущий момент он от меня отчень далек по уровню, и учить меня ему просто нечего ), а остальных надо учить работать с презентациями. Теперь вся школа осваивает Power Point
З.З.Ы. Чтоб было немного в тему - отгуглил рекурсивное решение. Запрограммил, действительно, 1 рекурсивная функция и код типа рид-врайт, коротко и четко. Только проблема - на паскале загибается при числах около 20, на С++ - кажется проходит для чисел больше 20, но 30 все же не осиливает.
LeBron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько задач hvaran Помощь студентам 0 07.07.2009 17:31
Несколько задач. GoldMan Паскаль, Turbo Pascal, PascalABC.NET 1 02.12.2008 15:14
Паскаль, несколько задач. DarkAn Помощь студентам 8 03.11.2008 15:40
[C++] Несколько задач Алиса111 Помощь студентам 1 15.01.2008 03:52
Несколько задач Wilda Паскаль, Turbo Pascal, PascalABC.NET 5 05.12.2007 19:03