Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TRASPOSTO, DFS SUI VERTICI DI B COSÌ MI TROVERÒ COLORATI DI NERO TUTTI I VERTICI
- CHE RAGGIUNGONO I VERTICI DI B.
- CICLO SUI VERTICI DI A E SE IL VERTICE È COLORATO DI NERO ED HA DISTANZA MINORE DI K
- ALLORA RESTITUISCO FALSE.
- ALGO(G,A,B,K){
- INIT(G);
- GT=TRASPOSTO(G);
- FOR EACH v IN B
- IF (c[v]=bianco) THEN
- BFS(GT,v);
- FOR EACH v IN A
- IF (c[v]=nero && d[v] < k) THEN
- return FALSE;
- return TRUE;
- }
- BFS(G,s) {
- Q={s};
- c[s]=grigio;
- d[s]=0;
- WHILE (Q!=0) DO
- v=TESTA(Q);
- FOR EACH u IN ADJ[v] DO
- IF (c[u]=bianco) THEN
- Q=enqueue(Q,u);
- c[u]=grigio;
- d[u]=d[v]+1;
- Q=dequeue(Q);
- c[s]=nero;
- }
- INIT(G){
- FOR EACH v IN G
- c[v]=bianco;
- d[v]=infinito;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement