В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Masha6996
Masha6996
27.01.2023 07:25 •  Информатика

Всоциальной сети "друзьяшки" есть публиковать записи, делать репост (размещать чужую запись на своей странице) и ставить лайки. в "друзьяшках" каждый репост считается отдельной записью и его, в свою очередь, могут репостить другие пользователи. вася опубликовал популярную запись, которая широко разошлась по соцсети. пользователи соцсети могут ставить лайк к записи, при этом если запись является репостом, то этот лайк отображается не только у того пользователя, которому он был поставлен, но и у пользователя, с чьей страницы был сделан репост и так далее до самой исходной записи. например, если пользователь а опубликовал запись, репост которой сделали пользователи б и в, а пользователь г сделал репост записи пользователя б, то лайк, поставленной записи пользователя г, будет отображен у пользователей г, б и а (но не в). пете понравился пост васи. к сожалению, в "друзьяшках" можно ставить только один лайк в день, зато этот лайк отображается во всех записях, которые, находятся выше по дереву лайков. поэтому петя хочет поставить свой единственный лайк так, чтобы он был отображен у как можно большего количества пользователей. ему выбрать запись, которой нужно поставить такой лайк. напишите программу на паскале

Показать ответ
Ответ:
Olenkako2004
Olenkako2004
20.08.2020 08:42
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота