"02. SoftUni Water Supplies" from Programming Fundamentals Sample Exam II - June 2016
Моят код: http://pastebin.com/5jTynnNs
линк към задачата: https://judge.softuni.bg/Contests/Practice/Index/218#1
Не мога да разбера защо не се получава.
Знам, че не съм засегнал случая при който водата не стига, но още тук не се получава, накрая ми излиза, че ми остават 45 литра, при условие, че имам 30, а трябва да останат 15, а уж вадя от водата. Помощ!
int haveToFill = bottles[i] - bottleCapacity; - това е променлива, която смята колко трябва да извадя от цялата вода за конкретното шише
if (haveToFill > amountOfWater ): fill = amountOfWater - ако толкова е повече от колкото е останало от цялата вода, направо да се изсипе цялата вода
else: fill = haveToFill; - ако не, то си е толкова
bottles[i] = bottles[i] + fill; - това си е пълненето на водата в даденото шише
amountOfWater -= fill; - а това е изкарването на водата от цялата вода
if (amountOfWater == 0): break; - когато водата стигне 0 - спира цикъла
Поне така си мисля, че трябва да стане, най-вероятно логката ми е грешна :(
if (totalAmountOfWater % 2 == 0)
{
for (int i = 0; i < itemsInTheArray.Length; i++)
{
litersFilled += bottleCapacity - itemsInTheArray[i];
if (litersFilled > totalAmountOfWater)
{
bottlesLeft++;
indexesOfLeftBottles.Add(i);
}
виж този код може да ти помогне
разбрах, благодаря! :)