Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.46 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace zadanie55
  9. {
  10. class Program
  11. {
  12. public static void Main(String[] args)
  13. {
  14.  
  15. Console.WriteLine("Podaj ilosc wiercholkow n");
  16. int n = int.Parse(Console.ReadLine());
  17.  
  18. int[,] graf = new int[n, n];
  19.  
  20. for (int j = 0; j < n; j++)
  21. {
  22. graf[0, j] = j + 1;
  23. }
  24.  
  25. //for (int i = 0; i < n; i++)
  26. //{
  27. // for (int j = 0; j < n; j++)
  28. // {
  29. // Console.Write(graf[i, j]);
  30. // }
  31. // Console.WriteLine();
  32. //}
  33.  
  34. for (int i = 0; i < n; i++)
  35. {
  36. Console.WriteLine("podaj z jakimi wierzcholkami sposrod " + n + " wierzcholkow sasiaduje wierzcholek nr" + (i + 1) + " (jesli z zadnym wstaw 0)");
  37. for (int j = 1; j < n; j++)
  38. {
  39. graf[i, j] = int.Parse(Console.ReadLine());
  40. }
  41. }
  42.  
  43. int[] kolory = new int[n]; //max rozmiar tabeli to tyle samo kolorow (wierszy) co wierzcholkow w tabeli graf
  44. int k = 1;
  45. kolory[0] = 1;
  46. //automatycznie zeruja sie nieprzypisane elementy tablicy
  47.  
  48. for (int i = 1; i < n; i++) //i to nr indexu wierzcholka(sprawdzamy dla kazdego wierzcholka z kim on sasiaduje i ktory minimalny kolor mozna mu przycdzielic)
  49. {
  50. for (int j = 1; j < n; j++)
  51. {
  52. if (graf[i, j] == 0) break;
  53. if (kolory[(graf[i, j]) - 1] == k) //sprawdzamy czy dany sasiad wierzcholka mial juz jakis przypisany kolor
  54. {
  55. k++; //jesli tak to dla kolejnego sasiada dajemy kolejny numer koloru
  56. }
  57. //na kazdym kroku algrytmu wybierany jest mozliwy minimalny numer koloru
  58. }
  59. kolory[i] = k;
  60. k = 1; //zeby z kolejna petla sprawdzac minimalny mozliwy koloru od poczatku
  61. }
  62.  
  63. for (int i = 0; i < kolory.Length; i++)
  64. {
  65. Console.WriteLine("Wierzcholek o numerze:" + (i + 1) + " posiada kolor nr " + kolory[i]);
  66. }
  67. Console.ReadKey();
  68. }
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement