Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace zadanie55
- {
- class Program
- {
- public static void Main(String[] args)
- {
- Console.WriteLine("Podaj ilosc wiercholkow n");
- int n = int.Parse(Console.ReadLine());
- int[,] graf = new int[n, n];
- for (int j = 0; j < n; j++)
- {
- graf[0, j] = j + 1;
- }
- //for (int i = 0; i < n; i++)
- //{
- // for (int j = 0; j < n; j++)
- // {
- // Console.Write(graf[i, j]);
- // }
- // Console.WriteLine();
- //}
- for (int i = 0; i < n; i++)
- {
- Console.WriteLine("podaj z jakimi wierzcholkami sposrod " + n + " wierzcholkow sasiaduje wierzcholek nr" + (i + 1) + " (jesli z zadnym wstaw 0)");
- for (int j = 1; j < n; j++)
- {
- graf[i, j] = int.Parse(Console.ReadLine());
- }
- }
- int[] kolory = new int[n]; //max rozmiar tabeli to tyle samo kolorow (wierszy) co wierzcholkow w tabeli graf
- int k = 1;
- kolory[0] = 1;
- //automatycznie zeruja sie nieprzypisane elementy tablicy
- 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)
- {
- for (int j = 1; j < n; j++)
- {
- if (graf[i, j] == 0) break;
- if (kolory[(graf[i, j]) - 1] == k) //sprawdzamy czy dany sasiad wierzcholka mial juz jakis przypisany kolor
- {
- k++; //jesli tak to dla kolejnego sasiada dajemy kolejny numer koloru
- }
- //na kazdym kroku algrytmu wybierany jest mozliwy minimalny numer koloru
- }
- kolory[i] = k;
- k = 1; //zeby z kolejna petla sprawdzac minimalny mozliwy koloru od poczatku
- }
- for (int i = 0; i < kolory.Length; i++)
- {
- Console.WriteLine("Wierzcholek o numerze:" + (i + 1) + " posiada kolor nr " + kolory[i]);
- }
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement