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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 17:55   #1
herzenswaerme
Новичок
Джуниор
 
Регистрация: 17.05.2014
Сообщений: 2
По умолчанию Задача "Штрафное время". Ошибка в тесте.

Привет!
Пробую решить задачу:

"1636. Штрафное время
Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Команду ZZZ вновь постигла неудача. На очередном соревновании в городе Екатеринозаводске участники выступили блестяще, первыми решив все 10 предложенных задач ещё до заморозки монитора. Однако в итоговом протоколе команда ZZZ оказалась лишь на втором месте, проиграв команде QXX по штрафному времени. Участник команды QXX предположил, что это произошло из-за неаккуратности участников и применяемой ими техники грязной отладки. Однако капитан ZZZ заявил, что во всём виновата хитрая командная тактика, поскольку даже если бы команда сдавала все задачи с первой попытки, она всё равно заняла бы только второе место. Выясните, кто из них прав.
Исходные данные
В первой строке через пробел записаны числа T1 и T2 — штрафное время в минутах команды QXX и команды ZZZ соответственно (250 ≤ T1 ≤ T2 ≤ 2400). Во второй строке через пробел записаны 10 чисел — i-е число обозначает количество штрафных попыток, сделанных командой ZZZ по i-й задаче. Напомним, что каждая штрафная попытка прибавляет к штрафному времени 20 минут.
Результат
Если штрафные попытки не повлияли на итоговое место команды ZZZ, выведите «No chance.». Иначе выведите «Dirty debug ». При равенстве штрафного времени команды сортируются по алфавиту, а значит, команда ZZZ в этом случае всё равно оказалась бы на втором месте. "

Мой код:
Код:
program time;
var
a,b:string
ch:array [1..2] of string;
mstr: array [1..10] of string;
t: array [1..2] of integer;
m,s:array [1..10] of integer;
i,j,k,tiem:integer;
begin
 tiem:=0;
 readln(a);
 readln(b);
 i:=1;
 while a[i]<>' ' do
  begin
   ch[1]:=ch[1]+a[i];
   i:=i+1;
  end;
 i:=i+1;
 while i<>(length(a)+1) do
  begin
   ch[2]:=ch[2]+a[i];
   i:=i+1;
  end;
 for i:=1 to 2 do
  val(ch[i],t[i]);
 k:=1;
 for i:=1 to 20 do
  if b[i]=' ' then
   begin
    s[k]:=i;
    k:=k+1;
   end;
 k:=1;
 for i:=1 to 9 do
  begin
   mstr[i]:=copy(b,k,s[i]-k);
   k:=s[i]+1;
  end;
 mstr[10]:=copy(b,s[9]+1,length(b);
 for i:=1 to 10 do
  val(mstr[i],m[i]);
 for i:=1 to 10 do
  if m[i]<>0 then
   tiem:=(tiem+(m[i]*20);
 t[2]:=t[2]-tiem;
 if t[2]<t[1] then
  writeln('Dirty debug :(')
  else
   if t[2]=t[1] then
    writeln('No chance.');
   else
    if t[2]>t[1] then
    writeln('No chance.');
readln();
end.
На одном из тестов получаю неверный ответ. Подскажите, пожалуйста, где искать ошибку?

Последний раз редактировалось Stilet; 18.05.2014 в 19:12.
herzenswaerme вне форума Ответить с цитированием
Старый 18.05.2014, 18:39   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Не хочется смотреть Ваш код.. Там зачем-то массивы.. и строки..
Код:
uses StrUtils;
var
	q, z, t, s : Int64;
	i : Integer;

begin
	ReadLn(q, z);
	s := 0;	
	for i := 1 to 10 do begin
		Read(t);
		s := s + t*20
	end;
	Write(IfThen(q<=z-s,'No chance.','Dirty debug :('))
end.
Poma][a вне форума Ответить с цитированием
Старый 18.05.2014, 19:02   #3
herzenswaerme
Новичок
Джуниор
 
Регистрация: 17.05.2014
Сообщений: 2
По умолчанию

Poma][a, спасибо. Не знал, что исходные данные можно внести с помощью переменных типа integer и read в цикле.
herzenswaerme вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
"Дата","Время" и "Человек" hamsidJ Microsoft Office Access 4 30.12.2011 01:28
Ошибка "Время ожидания истекло" Kveldulv Microsoft Office Excel 0 16.02.2010 13:31
Кнопка "Назад" в тесте Maestro- Общие вопросы Delphi 7 14.12.2009 11:52
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06