Одной из задач, возникающей при разработке поисковых систем, является поиск самых популярных сайтов по ключевым словам (тегам), описывающим сайт. Дан
5-9 класс
|
список сайтов. Про каждый сайт известны набор тегов сайта и его популярность. Есть запрос в виде набора тегов. На запрос необходимо выдать самый популярный сайт, у которого в описании встречаются все теги из запроса.
Формат входного файла
В первой строке входного файла input.txt находится набор тегов, разделённых ровно одним пробелом, количество тегов не превосходит 5. Тегом назовём такую строку, которая содержит только строчные латинские буквы и ее длина не превосходит 10 символов. В следующей строке дано число N (1 ≤ N ≤ 20)— количество сайтов.
Каждый сайт описывается тремя строками. В первой строке название сайта. Название сайта состоит только из строчных латинских букв и точки. Длина названия сайта не превосходит 15 символов. Во второй строке набор тегов сайта, разделенных пробелами. Количество тегов не превосходит 10. В третьей строке число Ai(1 ≤ Ai ≤ 1000000)— популярность сайта.
Формат выходного файла
В выходной файл output.txt требуется вывести любой самый популярный сайт, у которых встречаются все теги из запроса. Гарантируется, что найдётся, хотя бы один сайт отвечающий запросу.
Пример входных и выходных данных
Input.txt
football volleyball
5
sportbox.ru
sport football volleyball basketball swimming hockey
5000
championat.com
sport football volleyball basketball hockey
4000
soccer.ru
sport football
6000
sport.ru
sport football vоlleyball
1000
sports.ru
sport football volleyball basketball swimming hockey
2000
Output.txt
sportbox.ru
Я задачу решила, на мои тесты работает.
Однако, когда я отправляю ее тестировать на сайт, вылезает что программа выдала неправильный ответ.
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
s,r:string;
tegs,sait,d,x1:array[1..255] of string;
pop,l,x:array[1..100000] of integer;
i,j,k,n,f,max,max1:integer;
begin
assign(input,'Input.txt');reset(input);
assign(output,'Output.txt');rewrite(output);
readln(s);s:=s+' ';f:=0;
for i:= 1 to length(s) do begin
if s[i]<>' ' then r:=r+s[i];
if s[i]=' ' then begin k:=k+1;d[k]:=r;r:='';end;
end;
readln(n);
for i:= 1 to n do begin
readln(sait[i]);
readln(tegs[i]);
readln(pop[i]);
end;
for i:= 1 to n do begin
for j:= 1 to k do begin
if pos(d[j],tegs[i])<>0 then f:=f+1;
end;
l[i]:=f;
f:=0;
end;
max:=0;max1:=0;
f:=0;
for i:=1 to n do
if l[i]>max then max:=l[i];
for i:=1 to n do
if l[i]=max then begin inc(f);x[f]:=pop[i];x1[f]:=sait[i];end;
for i:=1 to f do
if x[i]>max1 then begin max:=x[i];k:=i;end;
writeln(x1[k]);
close(input);close(output);
end.
чтение из файла обычно пишется readln(f,s) где f имя файловой переменной так что скорей всего нужно вставить
readln(input,s);s:=s+' ';f:=0;
Другие вопросы из категории
составлял почти килограмм. Название этой мыши совпадало с именем героя сказки, который любил от всех уходить. Какое количество букв в имени героя
Читайте также
увеличить на 0,5; если оба значения неотрицательны и ни одно из них не пренадлежит отрезку [0.5;2,0], то оба значения уменьшить в 10 раз ; в остальных случаях x и y остаются без изменения . Помогите , завтра зачет.
Какой объём памяти (в Мбайт) заняла бы эта книга, если бы Лев Николаевич
набирал её на компьютере в одной из кодировок Unicode? На одной странице
в среднем помещается 64 строки, а в строке 64 символа. (Каждый символ
в кодировке Unicode занимает 16 бит памяти.)
Помогите пожалуйста))
2)Перечислите известные вам формы записи алгоритмов?
3)Злая мачеха отправила падчерицу за водой "Вот тебе 2 ведра, в одн из них входит 9 литров воды, а в другое 5 литров. Но ты должна принести домой ровно 3 литра воды",- сказала она бедной девушке.Как должна действовать падчерица, чтобы выполнить это поручение?
4)Какие геометрические фигуры используются в блок-схеме?
5)Каким образом задается порядок выполнения отдельных действий в блок схеме?
шансов на удачу: у Лорелеи, пообещавшей достать одного из четырёх тузов, или у Уарта, заявившего, что он сразу же вытащит карту червонной масти? Получит ли Лорелея больше шансов вытащить двух тузов, если она вернёт первого в колоду? Или если она отложит его в сторону? Будет ли у Уарта больше шансов вытащить две карты червонной масти, если он вернёт первую в колоду? Или если он отложит её в сторону?
этом должны соблюдаться следующие правила: 1) на первом месте стоит одна из букв: А, О, У; 2)после гласной буквы в цепочке не может снова идти гласная, а после согласной - согласная. 3)последней буквой не может быть А. Запищите все цепочки, которые могут быть построены по этим правилам.