В социальной сети "друзьяшки" есть публиковать записи, делать репост (размещать чужую запись на своей странице) и ставить лайки. В "друзьяшках" каждый репост считается отдельной записью и его, в свою очередь, могут репостить др...
В социальной сети "друзьяшки" есть публиковать записи, делать репост (размещать чужую запись на своей странице) и ставить лайки. В "друзьяшках" каждый репост считается отдельной записью и его, в свою очередь, могут репостить другие пользователи. Вася опубликовал популярную запись, которая широко разошлась по соцсети. Пользователи соцсети могут ставить лайк к записи, при этом если запись является репостом, то этот лайк отображается не только у того пользователя, которому он был поставлен, но и у пользователя, с чьей страницы был сделан репост и так далее до самой исходной записи.
Например, если пользователь А опубликовал запись, репост которой сделали пользователи Б и В, а пользователь Г сделал репост записи пользователя Б, то лайк, поставленной записи пользователя Г, будет отображен у пользователей Г, Б и А (но не В).
Пете очень понравился пост Васи. К сожалению, в "друзьяшках" можно ставить только один лайк в день, зато этот лайк отображается во всех записях, которые, находятся выше по дереву лайков. Поэтому Петя хочет поставить свой единственный лайк так, чтобы он был отображен у как можно большего количества пользователей. Помогите ему выбрать запись, которой нужно поставить такой лайк.
напишите программу на паскале
Ответ(ы) на вопрос:
Гость
const Sz = 1000; var a: array [1..Sz] of integer; b: array [1..Sz] of integer; c: array [1..Sz] of integer; d: array [1..Sz] of integer; M: integer; N: integer; i: integer; k: integer;begin read(M); readln(N); for i:=1 to N do begin read(a[i]); readln(b[i]); if (a[i]<>0) then c[i]:=1 else c[i]:=0; end; for i:=1 to N do begin if(c[i]<>0) then begin for k:=1 to i do begin if(d[k]=0) then d[i]:=1; if (c[k]=i) then d[k]:=0; end; writeln(d[i]) end;end;end.
Не нашли ответ?
Похожие вопросы