static void PasiekiamiMiestai(Miestas miestas, Miestas[] miestai) { if (miestas.nr != 1) { miestas.aplankytas = true; } if (miestas.miestoVartai.Any(x => x.panaudoti == true) && Array.FindLastIndex(miestai, y => y.aplankytas == false) == 0) { if (miestas.miestoVartai.Any(x => x.kiti.miestas.nr == 1)) { Vartai temp = Array.Find(miestas.miestoVartai, x => x.kiti.miestas.nr == 1); Console.WriteLine(temp.nr + " " + temp.kiti.nr); Console.WriteLine("Taip"); } else { Console.WriteLine("Ne"); } return; } foreach (Vartai vartai in miestas.miestoVartai) { if (!vartai.panaudoti && !vartai.kiti.miestas.aplankytas) { Console.WriteLine(vartai.nr + " " + vartai.kiti.nr); vartai.panaudoti = true; vartai.kiti.panaudoti = true; PasiekiamiMiestai(vartai.kiti.miestas, miestai); } } }
static void Miestai(List <Vartai> vartai, Miestas[] miestai) { for (int i = 0; i < miestai.Length; i++) { miestai[i] = new Miestas(i + 1); foreach (Vartai v in vartai) { if ((v.nr - 1) / 4 == i) { v.miestas = miestai[i]; } } } for (int i = 0; i < miestai.Length; i++) { miestai[i].KurieVartai(vartai.FindAll(x => x.miestas.nr == i + 1).ToArray()); } }
static void Main(string[] args) { int n = 0; string[] duomenys = Duomenys(ref n); List <Vartai> visiVartai = new List <Vartai>(); Miestas[] visiMiestai = new Miestas[n]; DuomenuSkaidymas(duomenys, visiVartai); Miestai(visiVartai, visiMiestai); PasiekiamiMiestai(visiMiestai[0], visiMiestai); //foreach(var m in visiMiestai) //{ // Console.WriteLine(m.ToString()); //} //foreach(var v in visiVartai) //{ // Console.WriteLine(v.ToString()); //} }
public void KurisMiestas(Miestas miestas) { this.miestas = miestas; }