• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с задачей

Вива

Новые
Регистрация
22 Окт 2011
Сообщения
14
Реакции
0
Баллы
0
Помогите с задачей

На днях начал писать одну программу, осталось выполнить одно условие задачи, но вот ведь не задача ни выходит у меня. Я уже голову сломал=), ни как не могу выполнить это условие....

Условие задачи:
Имя входного файла: race.in
Имя выходного файла: race.out
Максимальное время работы на одном тесте: 2 секунды
Максимальный объем используемой памяти: 64 мегабайта


После очередного этапа чемпионата мира по кольцевым автогонкам на автомобилях с открытыми колесами Формула-А гонщики собрались вместе в кафе, чтобы обсудить полученные результаты. Они вспомнили, что в молодости соревновались не на больших болидах, а на картах – спортивных автомобилях меньших размеров.

Друзья решили выяснить победителя в одной из гонок на картах. Победителем гонки являлся тот гонщик, у которого суммарное время прохождения всех кругов трассы было минимальным.
Поскольку окончательные результаты не сохранились, то каждый из n участников той гонки вспомнил и выписал результаты прохождения каждого из m кругов трассы. К сожалению, по этой информации гонщикам было сложно вычислить победителя той гонки. В связи с этим они попросили сделать это вас.

Требуется написать программу, которая вычислит победителя гонки на картах, о которой говорили гонщики.

Формат входных данных
Первая строка входного файла содержит два целых числа n и m (1 ≤ n, m ≤ 100). Последующие 2∙n строк описывают прохождение трассы каждым из участников. Описание прохождения трассы участником состоит из двух строк. Первая строка содержит имя участника с использованием только латинских букв (строчных и заглавных). Имена всех участников различны, строчные и заглавные буквы в именах различаются.
Вторая строка содержит m положительных целых чисел, где каждое число – это время прохождения данным участником каждого из m кругов трассы (каждое из этих чисел не превосходит 1000). Длина каждой строки не превышает 255 символов.

Формат выходных данных
В выходной файл необходимо вывести имя победителя гонки на картах. Если победителей несколько, требуется вывести имя любого из них.
 
Пример входных данных:
5 3
Sumaher
2 1 1
Barikelo
2 1 2
Olonso
1 2 1
Vasya
1 1 1
Fedya
1 1 1
Пример выходных данных:
Fedya


Чтобы он находил у кого наименьшее время вот программу написал:
Код:
program ab;
var f1,f2:text;
a,b,c,i,n,min:integer;
s:string;
d:array[1..255] of integer;
begin
 assign(f1,'in.dat');
 reset(f1);
  assign(f2,'aut.dat');
  rewrite(f2);
     readln(f1,n);
   for i:=1 to n do
    begin
    readln(f1,a,b,c);
     d[i]:=a+b+c;
     writeln(f2,d[i]);
    end;
     min:=d[1];
     for i:=1 to n do
      if d[i]<min then min:=d[i];
      write(f2,min);
      close(f1);
      close(f2);
end.
 
Осталось сделать так, чтобы он писал имя
 
Осталось сделать так, чтобы он писал имя
Я бы сказал, что, скорее, осталось начать и кончить.
Но прежде - вот что. На мой взгляд, от требований типа
Максимальное время работы на одном тесте: 2 секунды
Максимальный объем используемой памяти: 64 мегабайта
разит, извините, трухой и плесенью 70-х - 80-х годов прошлого века, откуда, видимо, и была извлечена сия задача. Даже не знаю, как определить объем используемой памяти (во всяком случае, полагаю, в 64 МБ вполне уложимся), а что до времени, то на современных компьютерах оно составляет считанные миллисекунды.
Теперь код:
Код:
Const
 Nmax=20;
var
 f1,f2:text;
 Names:Array[1..Nmax] of String;
 t,n,m,min:Word;
 Time:Array[1..Nmax] of Word;
 i,j,Imin:integer;
begin
 assign(f1,'in.dat');
 reset(f1);
 assign(f2,'out.dat');
 rewrite(f2);
 readln(f1,n,m);
 for i:=1 to n do
  begin
   readln(f1,Names[i]);
   Time[i]:=0;
   for j:=1 to m do
    begin
     read(f1,t);
     Time[i]:=Time[i]+t;
    end;
   readln(f1);
  end;
 Close(f1);
 min:=Time[1];
 Imin:=1;
 for i:=2 to n do
  if Time[i]<min then
   begin
    min:=Time[i];
    Imin:=i;
   end;
 writeln(f2,Names[Imin]);
 close(f2);
end.
 
огромнейшее спасибо вам Vladimir_S
 
Владимир, отчего же трухлятина? И сейчас на олимпиадах по программированию подобные требования к коду предъявляют, что, естественно, ничего, кроме смеха, не вызывает, но вызвано некоторыми причинами. Одна из этих причин - в автоматизированной проверке заданий при помощи специальной среды, которая работает в ограниченном адресном пространстве и может тупо зависнуть, если будет использоваться больше памяти, чем выделено под программу :)) Такие случаи были на прошлогодней региональной олимпиаде школьников, причем по всей России :))
 
HTML:
Такие случаи были на прошлогодней региональной олимпиаде школьников, причем по всей России

вы правы, это прошлогоднее задание регионального этапа всероссийской олимпиады школьников:tehnari_ru_674:
 
Владимир, отчего же трухлятина?
Да вроде как именно оттого, что
ничего, кроме смеха, не вызывает
Мне кажется, по нынешним временам, уж не знаю как там с памятью, а 2 секунды на подобную программу - это надо уж очень постараться. :D
 
Вы, наверное, не поверите, но попадаются люди, способные и не на такое :))
То большее из трех чисел через динамические массивы находят, то с файлами через стандартные потоки работать пытаются, то в графических задачах графический режим не подключат...
 
Назад
Сверху