|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
06.12.2012, 20:47 | #1 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Неправильно выводит в файл, выводит всегда 0
MaxN1 = 20; MaxN2 = 20; MaxN3 = 20; MaxV = MaxN1+2*MaxN2+MaxN3; MaxC = 2*MaxN2; var a:array [0..MaxV, 1..MaxV] of byte; Ka:array [0..MaxV] of integer; c,f,cf: array [0..MaxV, 0..MaxV] of shortint; i,j, Finish: integer; ia:array [0..MaxV, 1..MaxV] of shortint; Kia:array [0..MaxV] of integer; Max: longint; const MaxP=127; var N1:0..MaxN1; N2:0..MaxN2; N3:0..MaxN3; cn,np,N,k,tn,all:byte; input,output: text; Procedure InputData; begin assign(input,'is1131.in'); reset(input); readln(input,N1,N2,N3); Finish:=N1+2*N2+N3+1; All:=N1+N2+N3; for i:=0 to Finish do begin for j:=1 to MaxC do a[i,j]:=0; ka[i]:=0; end; ka[0]:=N1; for i:=1 to N1 do begin a[0,i]:=i; c[0,i]:=i; end; for i:=1 to N2 do begin readln(input,cn); a[N1+i,1]:=all+i; c[N1+i,all+i]:=cn; ka[N1+i]:=1; end; for i:=1 to N1 do begin read(input,k); ka[i]:=k; for j:=1 to k do begin read(input,a[i,j]); c[i,a[i,j]]:=MaxP; end; end; for i:=1 to N2 do begin read(input,k); ka[all+i]:=k; for j:=1 to k do begin read(input,np); a[all+i,j]:=np; c[all+i,a[all+i,j]]:=MaxP; end; readln(input); end; N:=N1+N2; for i:=1 to N3 do begin ka[N+i]:=1; a[N+i,1]:=Finish; c[N+i,Finish]:=1; end; close(input); end; Procedure OutputData; begin assign(output,'is1131.out'); rewrite(output); Max:=0; for i:=1 to N1 do Max:=Max+f[0,i]; writeln(output,Max); close(output); end; Begin InputData; OutputData; End. |
06.12.2012, 20:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Обратите внимание на содержимое данных ссылок, это может раскрыть глаза на решение проблемы Не выводит массив Delphi7 Ноутбук не выводит изобажение на монитор Программа выводит результат бесконечное число раз. Не ясна причина |
07.12.2012, 13:55 | #4 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Известная на весь Могилев компания "Headache" выпустила игру, для которой необходима конструкция, состоящая из маленьких платформ и труб. Платформы разделяются на стартовые (их N1 штук), финишные (N3 штук) и промежуточные (N2 штук). Все стартовые платформы находятся на одинаковой высоте. Финишные платформы также находятся на одинаковой высоте. Все высоты промежуточных платформ различны. Они меньше высоты стартовых, но больше высоты финишных. Каждой платформе соответствует уникальный номер от 1 до N1+N2+N3. Нумерация следующая: сначала все стартовые платформы, затем промежуточные и, наконец, финишные. Все промежуточные платформы пронумерованы по убыванию высоты. То есть, если номер промежуточной платформы A меньше номера платформы B, то высота A больше высоты B.
На каждой из стартовых платформ находится шарик. Шарик может скатиться с платформы A на платформу B, если они соединены трубой, и высота A больше высоты B. На каждой из финишных платформ может оказаться не более одного шарика. Если шарик находится на некоторой платформе, то игрок может выбрать направление дальнейшего пути шарика, т.е. выбрать платформу, на которую шарик скатится. Также для каждой промежуточной платформы задано число C, равное максимальному количеству шариков, которые могут прокатиться по ней за время игры. Цель игры заключается в том, чтобы на финишных платформах оказалось как можно больше шариков. Вам нужно узнать, какое максимальное количество шариков может оказаться на финишных платформах в результате игры. Ввод Во входном файле input.in находятся информация о конструкции в следующей форме: N1 N2 N3 CN1+1 ... CN1+N2 K1 A[1,1] ... A[1,K1] K2 A[2,1] ... A[2,K2] ... KN1+N2 A[N1+N2,1] ... A[N1+N2,KN1+N2] где числа N1, N2, N3 - соответственно количество стартовых, промежуточных и финишных платформ. Cj - максимальное количество шариков, которые могут прокатиться по промежуточной платформе с номером j (N1+1 <= j <= N1+N2) за все время игры. Кi - количество труб, выходящих из платформы с номером i (1 <= i <= N1+N2). Элементы массива A, перечисленные в строке, являются номерами платформ, на которые может скатиться шарик с соответствующей платформы. Ограничения Все числа на вводе целые. 0<N1,N3<51 1<N1+N2+N3<201 0 <= Cj <= 50 Не существует труб между стартовыми платформами. Не существует труб между финишными платформами. Вывод В первой строке выходного файла output.out должно находиться единственное число, равное максимальному количеству шариков, которое может оказаться на финишных платформах в результате игры. |
07.12.2012, 13:56 | #5 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
В прикрепленном файле содержатся тесты
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.12.2012, 18:10 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|