Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Поиск компонент связности
1
  1  killer, 02 июля 2009 г. 13:31:10
      хотя и на етом спасибо =)
  2  killer, 02 июля 2009 г. 13:30:53
      блин....там нету агоритма,а код тежело розобрать....
  3  Нагин Сергей Юрьевич, 30 июня 2009 г. 19:10:55
      informatics.mccme.ru/moodle
  4  Нагин Сергей Юрьевич, 30 июня 2009 г. 19:08:47
      А... это компоненкы сильной связности я тебе дал! Пройди на тот сайт , зайти в теорию графов и почитай про компоненты свызности теорию!
  5  killer, 30 июня 2009 г. 17:57:38
      ввод

5 5
1 2
3 4
5 3
2 1
2 2

вывод

2
а ваша програма шото не то выводит=))))спасибо
  6  Нагин Сергей Юрьевич, 30 июня 2009 г. 17:24:42
      //(C) Igor Kvasov
const
maxn = 100;
var
ne,ne_T,was,list,ans:array[1..maxn]of longint;
e,e_T:array[1..maxn,1..maxn]of longint;
i,j,n,m,u,v,nlist,color:longint;

procedure find(i:longint);
var
j:longint;
begin
was[i]:=1;
for j:=1 to ne[i] do if was[e[i,j]]=0 then find(e[i,j]);
inc(nlist); list[nlist]:=i;
end;

procedure find_T(i:longint);
var
j:longint;
begin
was[i]:=1;
for j:=1 to ne_T[i] do if was[e_T[i,j]]=0 then find_T(e_T[i,j]);
ans[i]:=color;
end;

begin
read(n,m);
for i:=1 to m do begin
read(u,v);
inc(ne[u]); e[u,ne[u]]:=v;
inc(ne_T[v]); e_T[v,ne_T[v]]:=u;
end;
for i:=1 to n do if was[i]=0 then find(i);
fillchar(was,sizeof(was),0);
for i:=n downto 1 do if was[list[i]]=0 then begin
inc(color);
find_T(list[i]);
end;
writeln(color);
for i:=1 to color do begin
for j:=1 to n do if ans[j]=i then write(j,' ');
writeln;
end;
end.
  7  Нагин Сергей Юрьевич, 30 июня 2009 г. 17:16:25
      имнофрматикс. какая-то_байда.ру там расписан алгоритм, а что-бы он пахал на таких ограничениях нижно реолизовать связный список , и написать оптимальный дфс!
  8  killer, 30 июня 2009 г. 14:57:55
      Найти из скольких связных частей состоит граф =)даны: N-к-тво вершын,M-к-тво ребер и все ребра.
например
5 5
1 2
3 4
5 3
2 1
2 2
(n=5,m=5);
и ещё одно M,N<=100 000
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru