[Advanced C# Exercises] Stacks and Queues - 06. Truck Tour
Здравейте Колеги, някакви препоръки можете ли да дадете за тази задачка. Много дълго време я мъча, но повече от 20 точки не взимам.
Здравейте Колеги, някакви препоръки можете ли да дадете за тази задачка. Много дълго време я мъча, но повече от 20 точки не взимам.
Здравей,
Дай да видим решението ти?
Здравей,
Пускамв и кода, който 10 пъти пренаписах по различен начин, но въпросът ми е по -скоро по условието. Може би аз не го разбирам като хората. http://pastebin.com/q5UqAJ9S
В задачата имаш N на брой станции наредени в кръг ( след последната следва първата ), всяка от тях ти дава определено количество гориво и знае колко километра има до следващата станция. Иска се да намериш първата станция, която ти позволява да направиш пълен кръг ( да се върнеш до нея ) без да ти свърши горивото по пътя.
Да разгледаме първия пример. Тук имаш 3 станции - A: 1-5, B: 10-3, C: 3-4. Още от тук става ясно че няма как да тръгнеш от станция А защото горивото, което ти дава няма да ти стигне до следващата станция ( 1-5 < 0 ). Пробваме B: тук ни дават 10 литра и имаме да минем път за 3 => възможно е да стигнем до следващата станция ( 10-3 >=0 ) => възможно е това да е отговор на задачата. Щом сме намерили станция Х, която ни позволява да стигнем до следващата се опитваме да обиколим всички станции и да стигнем пак до Х. Горивото, което ни е останало от пътя B -> C е 7 литра. Когато сме на станция C зареждаме 3 (7+3 = 10) и имаме да минем път до A за 4 ( 10 - 4 = 6 >= 0 ). Отиваме до А, зареждаме 1 литър ( 6 + 1 = 7) и имаме да минем 5 до B (7 - 5 >=0 ) Стъпим ли на B значи вече сме направили пълен кръг и изкарваме на конзолата B.
Много ти благодаря за помощта. Принципно и моята логика е същата. Този код, който пуснах е един от послените. Принципно в началото го правех с две опашки като завъртах последние и първия елемент и правих нова опашка. Пак ще го мъча. Мерси отново
защо тогава на примера, който си използвал, в самата задача, пише че трябва да изпишем "1" на consolе`та, а не В? Ясно е че е правилна логиката ти и ще тръгнем от втората колонка, но какво искат да изпечатаме накрая?
Input
Output
3
1 5
10 3
3 4
1