Temat B
This commit is contained in:
parent
93066b3398
commit
a59be95770
15
README.md
15
README.md
@ -2,4 +2,17 @@
|
||||
Zadania z ćwiczeń.
|
||||
|
||||
## Temat A
|
||||
Zadania rozwiązane.
|
||||
Zadania rozwiązane.
|
||||
|
||||
## Temat B
|
||||
Zadania rozwiązane.
|
||||
|
||||
|
||||
### TODO
|
||||
- Zadanie 11
|
||||
- Zadanie 19 **ok**
|
||||
- Zadanie 21 **ok**
|
||||
- Zadanie 30 **ok**
|
||||
- Zadanie 31 **ok**
|
||||
|
||||
Liczba punktów: 8p
|
1008
TEMAT_B/Temat-B.txt
Normal file
1008
TEMAT_B/Temat-B.txt
Normal file
File diff suppressed because it is too large
Load Diff
57
TEMAT_B/zad11.tcl
Normal file
57
TEMAT_B/zad11.tcl
Normal file
@ -0,0 +1,57 @@
|
||||
load ./q3.so
|
||||
source symul_lib.tcl
|
||||
|
||||
|
||||
# tworzenie kraty k x k
|
||||
set k 3
|
||||
set liczbaWierz [expr $k*$k]
|
||||
|
||||
iterate i $liczbaWierz {
|
||||
set sasiedzi($i) {}
|
||||
}
|
||||
|
||||
set k1 [expr $k-1]
|
||||
proc nr {x y} {global k; expr $x*$k+$y}
|
||||
|
||||
iterate x $k1 {
|
||||
iterate y $k1 {
|
||||
set i [nr $x $y]; DodajKraw $i [expr {$i+1}]; DodajKraw $i [expr {$i+$k}]
|
||||
}
|
||||
}
|
||||
|
||||
iterate x $k1 {
|
||||
set i [nr $x $k1]; DodajKraw $i [expr $i+$k]
|
||||
}
|
||||
|
||||
iterate y $k1 {
|
||||
set i [nr $k1 $y]; DodajKraw $i [expr $i+1]
|
||||
}
|
||||
|
||||
# efekt
|
||||
array get sasiedzi
|
||||
|
||||
|
||||
# definicja wierzchołka
|
||||
fiber create $liczbaWierz {
|
||||
set list $id
|
||||
while {$run} {
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
if {$kom($i)!=""} {
|
||||
set list "$list$kom($i)"
|
||||
while {[regsub -all {(.)(.*)\1+} $list {\1\2} list]} {}
|
||||
}
|
||||
}
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
wyslij $i $list
|
||||
}
|
||||
fiber yield
|
||||
}
|
||||
}
|
||||
|
||||
Inicjalizacja;
|
||||
|
||||
proc wizualizacja {} {
|
||||
fiber_iterate {_puts "id: $id, lista: $list"}
|
||||
}
|
||||
|
||||
fiber yield; runda; wizualizacja
|
81
TEMAT_B/zad19.tcl
Normal file
81
TEMAT_B/zad19.tcl
Normal file
@ -0,0 +1,81 @@
|
||||
load ./q3.so
|
||||
source symul_lib.tcl
|
||||
|
||||
# tworzę wierzchołki
|
||||
set liczbaWierz 5
|
||||
iterate i $liczbaWierz {
|
||||
let ipierwsze $i-1;
|
||||
if {$ipierwsze==-1} {let ipierwsze $liczbaWierz-1}
|
||||
|
||||
let idrugie $i+1;
|
||||
if {$idrugie==$liczbaWierz} {let idrugie 0}
|
||||
set sasiedzi($i) "$ipierwsze $idrugie"
|
||||
}
|
||||
|
||||
# definiuję wierzchołki
|
||||
fiber create $liczbaWierz {
|
||||
|
||||
# te zmienne są wymagane do wizualizacji
|
||||
set lider {};
|
||||
set minimalneId {};
|
||||
|
||||
fiber yield;
|
||||
|
||||
# Cykl zorientowany - wysyłam połączeniem 0, odbieram połączeniem 1
|
||||
dostarcz 0 "LE $id";
|
||||
|
||||
while {$run} {
|
||||
set msg [lindex [czytaj 1] 1];
|
||||
|
||||
if {$msg!=""} {
|
||||
if {$msg<$id} {
|
||||
dostarcz 0 "LE $msg";
|
||||
set minimalneId $msg;
|
||||
|
||||
} elseif {$msg==$id} {
|
||||
set lider 1;
|
||||
set minimalneId $msg;
|
||||
dostarcz 0 "LE false";
|
||||
|
||||
} elseif {$msg=="false" && $lider=={}} {
|
||||
set lider 0;
|
||||
dostarcz 0 "LE false";
|
||||
}
|
||||
}
|
||||
|
||||
#koniec wykonywania procedury danego wierzchołka
|
||||
fiber switchto main;
|
||||
}
|
||||
}
|
||||
InicjalizacjaAsynch
|
||||
|
||||
|
||||
#procedura wizualizacji
|
||||
proc wizualizacja {} {
|
||||
fiber_iterate {_puts "id: $id, lider: $lider, minimalneId: $minimalneId, kom0: $kom0, kom1: $kom1"}
|
||||
}
|
||||
|
||||
|
||||
#licznik
|
||||
set licz 0;
|
||||
|
||||
proc egzekucja {liczbaWierz licz args} {
|
||||
|
||||
#losowanie
|
||||
set random [expr {int(rand()*[expr $liczbaWierz+1])}];
|
||||
|
||||
for {set i 0} {$i < $liczbaWierz} {incr i} {
|
||||
if {$i!=$random && $licz!=0} {
|
||||
_puts "Działa wierzchołek: $i"
|
||||
fiber switchto $i;
|
||||
|
||||
} elseif {$licz==0} {
|
||||
_puts "Działa wierzchołek: $i"
|
||||
fiber switchto $i;
|
||||
}
|
||||
}
|
||||
set licz [expr $licz + 1];
|
||||
}
|
||||
|
||||
#wykonanie
|
||||
egzekucja $liczbaWierz $licz; set licz 1; wizualizacja;
|
81
TEMAT_B/zad30.tcl
Normal file
81
TEMAT_B/zad30.tcl
Normal file
@ -0,0 +1,81 @@
|
||||
load ./q3.so
|
||||
source symul_lib.tcl
|
||||
|
||||
|
||||
# inicjalizacja wierzchołków
|
||||
set liczbaWierz 20
|
||||
iterate i $liczbaWierz {
|
||||
let ipierwsze $i-1;
|
||||
if {$ipierwsze==-1} {let ipierwsze $liczbaWierz-1}
|
||||
|
||||
let idrugie $i+1;
|
||||
if {$idrugie==$liczbaWierz} {let idrugie 0}
|
||||
|
||||
set sasiedzi($i) "$ipierwsze $idrugie"
|
||||
}
|
||||
|
||||
|
||||
# definiuję wierzchołki
|
||||
fiber create $liczbaWierz {
|
||||
while {$run} {
|
||||
set bezpieczny 0;
|
||||
|
||||
# do wszystkich sąsiadów wysyłam ID
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
dostarcz $i $id;
|
||||
}
|
||||
|
||||
# koniec wykonania
|
||||
fiber switchto main;
|
||||
|
||||
# potwierdzenie otrzymania komunikatu
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
czytaj $i;
|
||||
}
|
||||
|
||||
# jeśli odebrałem komunikat to wysyłam safe
|
||||
for {set j 0} {$j < $stopien} {incr j} {
|
||||
dostarcz $j "SAFE";
|
||||
}
|
||||
|
||||
#koniec wykonania
|
||||
fiber switchto main;
|
||||
|
||||
while {$bezpieczny == 0} {
|
||||
set licz 0;
|
||||
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
|
||||
# zwiększam licz jeśli pierwszy to safe
|
||||
if {[lindex $kom($i) 0]=="SAFE"} {
|
||||
incr licz;
|
||||
}
|
||||
|
||||
# otrzymałem safe od każdego sąsiada
|
||||
if {$licz == $stopien} {
|
||||
set bezpieczny 1;
|
||||
|
||||
# usuwam safe z listy
|
||||
for {set j 0} {$j < $stopien} {incr j} {
|
||||
czytaj $j;
|
||||
}
|
||||
} else {
|
||||
set bezpieczny 0;
|
||||
}
|
||||
}
|
||||
fiber switchto main;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
InicjalizacjaAsynch
|
||||
|
||||
# pokaż komunikaty
|
||||
fiber switchto 0; pokazKom
|
||||
fiber switchto 1; pokazKom
|
||||
fiber switchto 2; pokazKom
|
||||
fiber switchto 3; pokazKom
|
||||
fiber switchto 4; pokazKom
|
||||
fiber switchto 5; pokazKom
|
||||
fiber switchto 6; pokazKom
|
||||
fiber switchto 7; pokazKom
|
105
TEMAT_B/zad31.tcl
Normal file
105
TEMAT_B/zad31.tcl
Normal file
@ -0,0 +1,105 @@
|
||||
load ./q3.so
|
||||
source symul_lib.tcl
|
||||
|
||||
# inicjalizuję wierzchołki
|
||||
set sasiedzi(0) {1 2 3}
|
||||
set sasiedzi(1) {0 4 5}
|
||||
set sasiedzi(2) {0 6}
|
||||
set sasiedzi(3) {0 7 8}
|
||||
set sasiedzi(4) {1}
|
||||
set sasiedzi(5) {1}
|
||||
set sasiedzi(6) {2}
|
||||
set sasiedzi(7) {3}
|
||||
set sasiedzi(8) {3}
|
||||
|
||||
set liczbaWierz 9;
|
||||
|
||||
|
||||
# definiuję wierzchołki
|
||||
fiber create $liczbaWierz {
|
||||
|
||||
#zmienne
|
||||
set safe 0;
|
||||
set korzen 0;
|
||||
set bezpieczneW 0;
|
||||
|
||||
while {$run} {
|
||||
if {$korzen==0 && $stopien==1 && $safe==0} {
|
||||
set safe 1;
|
||||
dostarcz 0 "SAFE";
|
||||
}
|
||||
|
||||
#koniec wykonania
|
||||
fiber switchto main;
|
||||
|
||||
while {$safe==0} {
|
||||
set licz 0;
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
if {[lindex $kom($i) 0]=="SAFE"} {
|
||||
incr licz;
|
||||
}
|
||||
if {$licz == [expr $stopien - 1]} {
|
||||
set safe 1;
|
||||
|
||||
for {set j 0} {$j < $stopien} {incr j} {
|
||||
czytaj $j;
|
||||
}
|
||||
}
|
||||
}
|
||||
fiber switchto main;
|
||||
}
|
||||
|
||||
if {$korzen==0 && $safe==1 && $bezpieczneW==0 && $stopien>1} {
|
||||
dostarcz 0 "SAFE";
|
||||
set bezpieczneW 1;
|
||||
|
||||
} elseif {$korzen==1 && $safe==1} {
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
dostarcz $i "PULSE";
|
||||
set safe 0;
|
||||
}
|
||||
}
|
||||
|
||||
fiber switchto main;
|
||||
|
||||
if {[lindex $kom(0) 0]=="PULSE"} {
|
||||
if {$korzen==0 && $stopien>1} {
|
||||
czytaj 0;
|
||||
for {set j 1} {$j < $stopien} {incr j} {
|
||||
dostarcz $j "PULSE";
|
||||
set bezpieczneW 0;
|
||||
set safe 0;
|
||||
}
|
||||
} else {
|
||||
czytaj 0;
|
||||
set bezpieczneW 0;
|
||||
set safe 0;
|
||||
}
|
||||
}
|
||||
|
||||
fiber switchto main;
|
||||
}
|
||||
}
|
||||
|
||||
InicjalizacjaAsynch
|
||||
|
||||
|
||||
proc wizualizacja {} {
|
||||
fiber_iterate {_puts "Wierzchołek $id, safe: $safe, korzen: $korzen"}
|
||||
}
|
||||
|
||||
|
||||
wizualizacja
|
||||
|
||||
# ustawiamy korzeń po pierwszej egzekucji
|
||||
fiber_eval 0 {set korzen 1}
|
||||
|
||||
fiber switchto 0;
|
||||
fiber switchto 1;
|
||||
fiber switchto 2;
|
||||
fiber switchto 3;
|
||||
fiber switchto 4;
|
||||
fiber switchto 5;
|
||||
fiber switchto 6;
|
||||
fiber switchto 7;
|
||||
fiber switchto 8;
|
154
dodatkowe/21.tcl
Normal file
154
dodatkowe/21.tcl
Normal file
@ -0,0 +1,154 @@
|
||||
source symul_lib.tcl
|
||||
|
||||
# 8 wierzchołków
|
||||
set liczbaWierz 8
|
||||
|
||||
#tworzę graf pełny
|
||||
iterate i $liczbaWierz {
|
||||
set check 0
|
||||
|
||||
# przechodzę przez wszystkie wierzchołki
|
||||
# {start} {test} {next}
|
||||
for {set j 0} {$j < $liczbaWierz} {incr j} {
|
||||
|
||||
# jeśli dany wierzchołek nie jest równy sprawdzanemu
|
||||
if {$i!=$j} {
|
||||
|
||||
# jeśli check = 0
|
||||
if {$check==0} {
|
||||
set s "$j"
|
||||
set check 1
|
||||
|
||||
# jeśli nie
|
||||
} else {
|
||||
set x1 $s
|
||||
set x2 $j
|
||||
set s "$x1 $x2"
|
||||
}
|
||||
}
|
||||
}
|
||||
set sasiedzi($i) "$s"
|
||||
}
|
||||
|
||||
#definicja wierzchołka
|
||||
fiber create $liczbaWierz {
|
||||
set king 1;
|
||||
set K $id_los;
|
||||
set KS 1;
|
||||
set waiting "";
|
||||
dostarcz 0 "Collect $id_los";
|
||||
|
||||
|
||||
while {$run} {
|
||||
for {set i 0} {$i < $stopien} {incr i} {
|
||||
|
||||
#lindex pobiera indeks z listy
|
||||
set x [lindex $kom($i) 0]
|
||||
|
||||
#jeśli x[0] == Collect
|
||||
if {[lindex $x 0]=="Collect"} {
|
||||
if {$K==""} {
|
||||
set K $i
|
||||
set KS 1
|
||||
set king 0
|
||||
dostarcz $i "Join";
|
||||
czytaj $i
|
||||
} elseif {$king==1} {
|
||||
if {$K<[lindex $x 1]} {
|
||||
set king 0
|
||||
set K $i
|
||||
set KS 1
|
||||
dostarcz $i "Join";
|
||||
}
|
||||
czytaj $i
|
||||
} elseif {$waiting==""} {
|
||||
if {$id_los < [lindex $x 1]} {
|
||||
set waiting $i
|
||||
dostarcz $K "Check [lindex $x 1]"
|
||||
}
|
||||
czytaj $i
|
||||
}
|
||||
}
|
||||
|
||||
#jeśli x[0] = Check
|
||||
if {[lindex $x 0]=="Check"} {
|
||||
if {$K < [lindex $x 1]} {
|
||||
set K ""
|
||||
set KS 1
|
||||
dostarcz $i "Ack"
|
||||
} else {
|
||||
dostarcz $i "Ref"
|
||||
}
|
||||
czytaj $i
|
||||
}
|
||||
|
||||
# jeśli x[0] = Ack
|
||||
if {[lindex $x 0]=="Ack"} {
|
||||
set KS 1
|
||||
dostarcz $waiting "Join";
|
||||
set waiting ""
|
||||
czytaj $i
|
||||
}
|
||||
|
||||
#jeśli x[0] = Ref
|
||||
if {[lindex $x 0]=="Ref"} {
|
||||
set waiting ""
|
||||
czytaj $i
|
||||
}
|
||||
|
||||
#jeśli x[0] = Join
|
||||
if {[lindex $x 0]=="Join"} {
|
||||
if {$king==1} {
|
||||
if {$KS < $stopien} {
|
||||
dostarcz $KS "Collect $id_los";
|
||||
} else {
|
||||
_puts "wybrano lidera: $id_los"
|
||||
}
|
||||
incr KS
|
||||
}
|
||||
czytaj $i
|
||||
}
|
||||
}
|
||||
fiber switchto main;
|
||||
}
|
||||
}
|
||||
InicjalizacjaAsynch
|
||||
|
||||
#procedura wizalizacji
|
||||
proc wizualizacja {} {
|
||||
fiber_iterate {_puts "$id,$id_los, $KS, $kom0, $kom1, $kom2, $kom3, $kom4, $kom5, $kom6"}
|
||||
}
|
||||
|
||||
#główna egzekucja
|
||||
set check 0;
|
||||
proc egzekucja {liczbaWierz check} {
|
||||
set s ""
|
||||
#expr - wylicz wartość wyrazenia
|
||||
set rand [expr {int(rand()*[expr $liczbaWierz+1])}];
|
||||
for {set i 0} {$i < $liczbaWierz} {incr i} {
|
||||
if {$check==0} {
|
||||
set x1 $s
|
||||
set x2 $i
|
||||
set s "$x1 $x2"
|
||||
fiber switchto $i;
|
||||
} elseif {$i!=$rand} {
|
||||
set x1 $s
|
||||
set x2 $i
|
||||
set s "$x1 $x2"
|
||||
fiber switchto $i;
|
||||
}
|
||||
}
|
||||
_puts "Wierzchołki: {$s }"
|
||||
}
|
||||
|
||||
egzekucja $liczbaWierz $check;set check 1;wizualizacja;
|
||||
|
||||
|
||||
|
||||
#5. symulacja modelu asynchronicznego:
|
||||
# + generujemy "zdarzenie obliczeniowe" z konsoli przy pomocy
|
||||
# fiber switchto $id
|
||||
# a zdarzenie to kończy się w kodzie algorytmu przez
|
||||
# fiber switchto main
|
||||
# + istnieje procedura "dostarcz" działająca tak jak "wyslij"
|
||||
# z tą różnicą, że komunikaty są od razu dostarczane
|
BIN
dodatkowe/Graf_pelny.png
Normal file
BIN
dodatkowe/Graf_pelny.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 120 KiB |
52
dodatkowe/README.md
Normal file
52
dodatkowe/README.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Zadanie 21
|
||||
Opis dzialania
|
||||
|
||||
|
||||
|
||||
## Wstep
|
||||
Tworze graf pelny o 8 wierzcholkach.
|
||||
|
||||
Glowna idea - kazdy wierzcholek probuje dodac do swojego zbioru jak najwieksza ilosc innych wierzcholkow.
|
||||
|
||||
Wierzcholek probujacy dodac inny porownuje najpierw czy jego zbior jest wiekszy niz wierzcholka ktorego probuje przejac. Tylko w takim wypadu moze to zrobic. Liderem zostaje ten o najwiekszym zbiorze.
|
||||
|
||||
|
||||
|
||||
## Wysylane komunikaty
|
||||
- Collect - dolacz sie do mnie
|
||||
|
||||
- Join - dolaczam sie do ciebie
|
||||
|
||||
- Ack - moj zbior jest wiekszy od twojego
|
||||
|
||||
- Ref - moj zbior jest mniejszy od twojego
|
||||
|
||||
- Check - sprawdź ten zbior czy jest wiekszy od twojego
|
||||
|
||||
|
||||
|
||||
## Dzialanie wierzcholka
|
||||
Na poczatku wysylam sygnal collect do dowolnego sasiada.
|
||||
System odbioru komunikatow:
|
||||
|
||||
- Jesli dostane collect i moj zbior jest pusty lub mniejszy od wierzcholka wysylajacego to wysylam do niego komunikat join, w przeciwnym wypadku wyslij check do "posiadacza zbioru"
|
||||
|
||||
- Jesli dostane check i moj zbior jest wiekszy niz wierzcholka wysylajacego to wysylam do niego ack, w przeciwnym wypadku wysylam ref
|
||||
|
||||
- Jesli dostane ack to wysylam join do wierzcholka wysylajacego.
|
||||
|
||||
- Jesli dostane ref to nie robie nic.
|
||||
|
||||
- Jesli dostane join to powiekszam swoj zbior i wysylam collect do innego losowego wierzcholka.
|
||||
|
||||
|
||||
|
||||
## Program
|
||||
Kroki:
|
||||
1. Startuje od check = 0.
|
||||
2. Wykonuje procedure egzekucja.
|
||||
3. Wierzcholek 0 uruchomi swoje dzialanie jako pierwszy.
|
||||
4. Ustawiam check = 1. Uruchamiam wizualizacje.
|
||||
5. Wykonuje procedure egzekucja.
|
||||
6. Uruchomi sie dzialanie losowo wybranego wierzcholka.
|
||||
7. Wracam do kroku 4. Program dziala az nie znajde lidera.
|
100
dodatkowe/konsola.txt
Normal file
100
dodatkowe/konsola.txt
Normal file
@ -0,0 +1,100 @@
|
||||
Wierzchołki: { 0 1 2 3 4 5 6 7 }
|
||||
0,507, 1, {Collect 210} Join, {Collect 36}, {Collect 272}, {Collect 756}, {Collect 442}, {Collect 696}, {Collect 664}
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 1, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 2 3 4 5 7 }
|
||||
0,507, 1, Join, , , , , , {Collect 664}
|
||||
1,210, 1, , , , {Collect 756}, , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 2, {Check 696}, , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 1 2 3 4 5 6 7 }
|
||||
0,507, 1, Join {Check 756}, , , Ref, , , {Collect 664}
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 2, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 2 4 5 6 7 }
|
||||
0,507, 1, {Check 756}, , , Ref, , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 2, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 2 3 4 5 6 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , {Collect 756}, , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 3, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 2 3 4 5 6 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , {Collect 756}, , ,
|
||||
4,756, 4, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 3 4 5 6 7 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 5, , , , , Join, ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 3 4 5 6 7 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 6, , , , , , Join,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
|
||||
Wierzchołki: { 0 1 2 3 4 5 7 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 7, , , , , , , Join
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
||||
wybrano lidera: 756
|
||||
|
||||
Wierzchołki: { 0 1 2 4 5 6 7 }
|
||||
0,507, 1, , , , , , ,
|
||||
1,210, 1, , , , , , ,
|
||||
2,36, 1, , , , , , ,
|
||||
3,272, 1, , , , , , ,
|
||||
4,756, 8, , , , , , ,
|
||||
5,442, 1, , , , , , ,
|
||||
6,696, 1, , , , , , ,
|
||||
7,664, 1, , , , , , ,
|
BIN
dodatkowe/krok1.png
Normal file
BIN
dodatkowe/krok1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
dodatkowe/krok2.png
Normal file
BIN
dodatkowe/krok2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
dodatkowe/krok3.png
Normal file
BIN
dodatkowe/krok3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
dodatkowe/krok4.png
Normal file
BIN
dodatkowe/krok4.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
dodatkowe/krok5.png
Normal file
BIN
dodatkowe/krok5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
Loading…
Reference in New Issue
Block a user