10. Poisonous Plants 55/100 точки
Здравейте, решавах 10. Poisonous Plants и успях да я докарам до 55/100, гърмят 5,6,8 и 9ти тест. Ако някой има идея, да сподели, благодаря!
https://pastebin.com/MW9bDbj9
Здравейте, решавах 10. Poisonous Plants и успях да я докарам до 55/100, гърмят 5,6,8 и 9ти тест. Ако някой има идея, да сподели, благодаря!
https://pastebin.com/MW9bDbj9
След стартиране на задачата от начало, с изцяло друг подход, изкарах 100/100, с това решение: https://pastebin.com/P38QJDqZ
Все пак, ще съм благодарен, ако някой помогне да разбера какъв е проблема в първото решение. Предполагам грешката е някъде тук:
long DeadPlant = posAndAmountPestPlant[j + 1];
int indexOf = listOfPlants.LastIndexOf(DeadPlant);
listOfPlants.RemoveAt(indexOf);
ъъ без да дадеш линк към условието или самото условие,трудно да се ориентираме в кода. В момента виждам че просто въртш някакви растения и ги махаш на някакъв принцип но какво е зад това идея си нямам.
Да, извинявам се, съвсем забравих. Ето го условиетo https://judge.softuni.bg/Contests/Practice/Index/184#9 10. Poisonous Plants
хм, изглежда интересно но на работа нямам Ide а такъв код в онлайн едитор не ми се пише че трудно се дебъгва.Трябва да го развъртя малко но ще стане довечера най-вероятно.
Проблема е, че когато премахнеш растения от listOfPlants не го отразяваш после в posAndAmountPestPlant.
За целта един ред: posAndAmountPestPlant = new List<long>(listOfPlants);
който е или в начало на while,или веднага след for цикъла.
Това ще ти даде 88%, остава един случай, в който според мен има растения с еднакви пестициди, първото от тях не се маха, а когато махаш второто,твоето IndexOf или LastIndexOf маха другото. Затова моята препоръка е, не да правиш паралелни листове както сега, а да си наравиш един стек, в който да пълниш индексите на растения за премахване, и след обхождане на листа,да изпразваш стека като премахваш съотвените растения от листа. Задачата и без това е от раздел стекове и опашки, а и според мен това си е нормалния подход.
Да, опитах да го сложа, в while и се получи, мерси! Иначе, го направих със стек и стана лесно, https://pastebin.com/wq66mjJm
Ето и вариант с масив и List:
https://pastebin.com/B42iF5jN
Ето и моето решение: https://pastebin.com/FvUc1KdL
Сравнително кратко ер дано помогне :)