Advertisement
barbos01

intervale4adaptare

May 2nd, 2022
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. fisier = open('intervale4.in', 'r') # deschidem fisierul
  2. prima_linie = fisier.readline().strip().split(' ') # citim prima linie, unde avem numarul de intervale
  3. nr_intervale = int(prima_linie[0])
  4. punct_x = [] # contine coordonatele de pe abscisa
  5. punct_y = [] # contine coordonatele de pe ordonata
  6.  
  7. for i in range(nr_intervale): # citim intervalele din fisier, le adaugam in doua stive
  8. linie = fisier.readline().strip().split(' ')
  9. punct_x.append(int(linie[0]))
  10. punct_y.append(int(linie[1]))
  11.  
  12. i = 0
  13. while i < nr_intervale: # cat timp parcurgem intervalele
  14. while i >= 1 and not (punct_x[i] > punct_y[i - 1] or punct_y[i] < punct_x[i - 1]): # daca i >= 1 si conditia negata este adevarata
  15. punct_x[i - 1] = min(punct_x[i], punct_x[i - 1])
  16. punct_y[i - 1] = max(punct_y[i], punct_y[i - 1])
  17. print("min", punct_x[i], punct_x[i - 1])
  18. print("max", punct_y[i], punct_y[i - 1])
  19. print(i)
  20. print(punct_x[i], ">", punct_y[i - 1], "or", punct_y[i], '<', punct_x[i - 1])
  21. for j in range(nr_intervale):
  22. print(punct_x[j], " ", punct_y[j])
  23. print("------")
  24. punct_x.pop(i)
  25. punct_y.pop(i)
  26. i -= 1
  27. nr_intervale -= 1
  28. for j in range(nr_intervale):
  29. print(punct_x[j], " ", punct_y[j])
  30. print("\n\n\n")
  31. i += 1
  32.  
  33. print("Intervalele ramase sunt: ")
  34. for i in range(len(punct_x)):
  35. print(punct_x[i], " ", punct_y[i])
  36. print("\nNumarul de intervale ramase: ")
  37. print(nr_intervale, "\n")
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement