Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 30.11.2011, 20:24   #1 (permalink)
Вива
Member
 
Регистрация: 22.10.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите с задачей

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

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


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

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

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

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

Формат выходных данных
В выходной файл необходимо вывести имя победителя гонки на картах. Если победителей несколько, требуется вывести имя любого из них.
Вива вне форума   Ответить с цитированием

Старый 30.11.2011, 20:24
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Ваша тема имеет сходства с теми, которые я отправил сюда

Помогите с задачей по Паскалю
Помогите, пожалуйста, с задачей в C++
Помогите с задачей по Делфи
Помогите пожалуйста с задачей по C++
Помогите с задачей на php-код

Старый 30.11.2011, 20:35   #2 (permalink)
Вива
Member
 
Регистрация: 22.10.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Пример входных данных:
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.
Вива вне форума   Ответить с цитированием
Старый 30.11.2011, 20:36   #3 (permalink)
Вива
Member
 
Регистрация: 22.10.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Осталось сделать так, чтобы он писал имя
Вива вне форума   Ответить с цитированием
Старый 01.12.2011, 10:13   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Вива Посмотреть сообщение
Осталось сделать так, чтобы он писал имя
Я бы сказал, что, скорее, осталось начать и кончить.
Но прежде - вот что. На мой взгляд, от требований типа
Цитата:
Максимальное время работы на одном тесте: 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 вне форума   Ответить с цитированием
Старый 01.12.2011, 14:05   #5 (permalink)
Вива
Member
 
Регистрация: 22.10.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

огромнейшее спасибо вам Vladimir_S
Вива вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 01.12.2011, 18:47   #6 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Владимир, отчего же трухлятина? И сейчас на олимпиадах по программированию подобные требования к коду предъявляют, что, естественно, ничего, кроме смеха, не вызывает, но вызвано некоторыми причинами. Одна из этих причин - в автоматизированной проверке заданий при помощи специальной среды, которая работает в ограниченном адресном пространстве и может тупо зависнуть, если будет использоваться больше памяти, чем выделено под программу Такие случаи были на прошлогодней региональной олимпиаде школьников, причем по всей России
AlexZir вне форума   Ответить с цитированием
Старый 01.12.2011, 19:02   #7 (permalink)
Вива
Member
 
Регистрация: 22.10.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Код HTML:
Такие случаи были на прошлогодней региональной олимпиаде школьников, причем по всей России
вы правы, это прошлогоднее задание регионального этапа всероссийской олимпиады школьников
Вива вне форума   Ответить с цитированием
Старый 01.12.2011, 19:46   #8 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от AlexZir Посмотреть сообщение
Владимир, отчего же трухлятина?
Да вроде как именно оттого, что
Цитата:
Сообщение от AlexZir Посмотреть сообщение
ничего, кроме смеха, не вызывает
Мне кажется, по нынешним временам, уж не знаю как там с памятью, а 2 секунды на подобную программу - это надо уж очень постараться.
Vladimir_S вне форума   Ответить с цитированием
Старый 01.12.2011, 20:36   #9 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Вы, наверное, не поверите, но попадаются люди, способные и не на такое
То большее из трех чисел через динамические массивы находят, то с файлами через стандартные потоки работать пытаются, то в графических задачах графический режим не подключат...
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:25.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.