Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1.  
  2. ALGO (G){ //v1=rosso, v2=blu
  3. INIT(G); //coloro i vertici di bianco
  4. GRADO_ENTRANTE(G,ge); //calcolo il grado entrante di ogni vertice
  5. FOR EACH v IN V DO
  6. IF (ge[v]=0) THEN //inserisco in una lista i vertici con grado entrante 0
  7. L=insert(L,v);
  8. BUILD_V1V2(G,L);
  9. FOR EACH v in V DO //se trovo qualche vertice ancora bianco
  10. IF (c[v]=bianco) THEN
  11. return FALSE;
  12. return TRUE;
  13. }
  14.  
  15. BUILD_V1V2(G,L){
  16. FOR EACH v IN L DO
  17. ret=FALSE;
  18. FOR EACH u IN ADJ[v] DO //coloro di blu gli adiacenti dei rossi
  19. ret=TRUE;
  20. IF (c[u]=bianco) THEN
  21. c[u]=blu;
  22. IF (ret=TRUE) THEN
  23. c[v]=rosso;
  24. }
  25.  
  26. GRADO_ENTRANTE(G,ge){
  27. FOR EACH v in V DO
  28. ge[v]=0;
  29. FOR EACH v in V DO
  30. FOR EACH u in ADJ[v] DO
  31. ge[u]=ge[u]+1;
  32. }
  33.  
  34. INIT(G){
  35. FOR EACH v in V DO
  36. c[v]=bianco;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement