08. Anonymous Threat with StringBuilder() for Divide Command- 90/100
Здравейте,
моля някой, ако разполага с повече време нека да погледне моя код от 38 ред надолу. Точно от там започва логиката за Divide Command, защото може би там е грешката. Опитах се да направя решение със StringBuilder, вместо със Substring(), но ми показва, че тест 7 не минава. Ето я логиката с няколко думи:
-имам дължината на стринга, имам и частите, на които трябва да се раздели;
-проверявам дали стринга може да се раздели на части с еднаква дължина или не може (sb.Length % partitions == 0 или !=0);
-ако може да се раздели на части с еднаква дължина: намирам дължината на едната част, като съответно дължината ще ми е и първоначалния индекс, от които програмата ще страртира разделянето. И вече във фор цикъл всеки път увеличавам индекса със съответната дължина на частта, по която разделям. Нещо подобно на ножица, която минава и реже парчета (знае от къде да започне и знае колко да изреже). "Ножицата" ще разбере кога да приключи от тук: фор цикъла е до дължината на думата минус дължината на последното парче.
-ако съответно sb.Length % partitions != 0, то това означава че стринга няма да може да се раздели на части с еднаква дължина. Знам отново от къде ще започне "ножицата" (индекса е равен на дължината на частта), колко трябва да отреже и къде да спре.
И да, нещо не е наред в логиката за жалост. Моля за помощ!
https://judge.softuni.bg/Contests/Compete/Index/1211#7
https://pastebin.com/zJhBkkuY
Благодаря много, задължена съм Ви! :)
В решението си със Substring() си използвах InsertRange(), но не знам защо реших, че сега Insert() ми е достатъчен и точно това да ми счупи програмата.
Разбрах точно какво имате предвид.
Поздрави!
Здарвейте Мартин,
Същата задача на Payton ми дава 80 / 100. Два дни си блъскам главата но не мога да си намеря пропуска.
Бихте ли погледнали кода ми https://controlc.com/f5202c47
Предварително благодаря за отделеното време !
Поздрави,