static void Main(string[] args) { Reader.CacheAdd("1 3 5 1 0 5"); Reader.CacheDisable(); Lahev[] lahve = new Lahev[3]; for (int i = 0; i < lahve.Count(); i++) { lahve[i] = new Lahev(Reader.ReadInt()); } for (int i = 0; i < lahve.Count(); i++) { lahve[i].Prilij(Reader.ReadInt()); } fronta.Add(new Stav(lahve, 0)); while (fronta.Count() > 0) { Stav prvniStav = fronta.First(); fronta.Remove(prvniStav); prvniStav.ProzkoumejSe(); } NalezeneObjemy.Vytiskni(); }
protected bool prelij(Lahev od, Lahev kam) { int kolikPreliju = (kam.KolikJeVolno() < od.stav) ? kam.KolikJeVolno() : od.stav; if (kolikPreliju == 0) { return(false); } od.Odlij(kolikPreliju); kam.Prilij(kolikPreliju); return(true); }
protected bool prelij(Lahev od, Lahev kam) { int kolikPreliju = (kam.KolikJeVolno() < od.stav) ? kam.KolikJeVolno() : od.stav; if (kolikPreliju == 0) return false; od.Odlij(kolikPreliju); kam.Prilij(kolikPreliju); return true; }
public Stav(Lahev[] lahve, int pocetKroku) { this.lahve = new Lahev[lahve.Count()]; for (int i = 0; i < lahve.Count(); i++) { this.lahve[i] = new Lahev(lahve[i].objem); this.lahve[i].Prilij(lahve[i].stav); } this.pocetKroku = pocetKroku; }