Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- with open(input("Podaj plik bez rozszerzenia\n") +'.txt', 'r') as file:
- MACIERZ = [[int(float(number)) for number in line.split(' ')] for line in file.readlines()]
- def losowa_sciezka(obecny):
- lista_nastepnikow =[]
- for i in range(len(MACIERZ)):
- if MACIERZ[obecny][i]>0:
- lista_nastepnikow.append(i)
- if not lista_nastepnikow:
- return None
- else:
- return random.choice(lista_nastepnikow)
- if __name__ == '__main__':
- mrowki = 5
- rozwiazania = []
- for i in range(mrowki):
- obecny = random.randint(0, len(MACIERZ)-1)
- koszt = 0
- sciezka = []
- sciezka.append(obecny)
- nastepny = losowa_sciezka(obecny)
- while len(set(sciezka)) != len(MACIERZ): # liczba wierzcholkow
- sciezka.append(nastepny)
- koszt += MACIERZ[obecny][nastepny]
- obecny = nastepny
- nastepny = losowa_sciezka(obecny)
- rozwiazania.append((koszt, sciezka))
- print(f'Ilosc wierzchołków: {len(MACIERZ)}')
- for wynik in rozwiazania:
- print(f'Koszt: {wynik[0]}, Długosc sciezki: {len(wynik[1])}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement