Софтуерно Инженерство
Loading...
onefen avatar onefen 27 Точки

[Homework] Multidimensional Arrays, Sets, Dictionaries Problem 9. * Terrorists Win!

Здравейте имам въпрос за една задача давана на изпит  Terrorists Win! Давана е на изпит по Java на 7 Януари 2015. Има я и в домашното за многомерни масиви под номер 9. Задачата изглежда лесна, но колкото и да се мъчех да я реша изкарвам маскимум 75 точки и не знам защо. По лошото е, че докато си играх с дебугера и си намерих бъгове, като взех да ги поправям Judge взе да ми дава все по-малко точки :). Та на повече от 75 не можах да ги докарам, а това е втората задача от изпита значи би трябвало да е сравнително лесна. Някой може ли да види къде бъркам. Ето го решението ми:

http://pastebin.com/NV7umZDn

Сега както се вижда това решение няма да работи коректно с повече от една "бомба" в текста. Понеже с if (bombBorderCount == 1) искам да проверя дали съм вътре в бомбата. И като намеря втората граница тя става 2. Значи съм вътре при нечетни стойности. За това пробвах да деля стойността му с оператора % на 2 и ако остатъка е 1 тогава да изпълнявам това в if-a, а не само когато брояча е 1, но тогава Judge взе да ми дава 62 точки. 

Двата for цикъла с който се сменят символите извън бомбата съответно пред и зад нея пробвах да ги заменя само с един for цикъл, но с два брояча идиния да върви назад а другия напред. Ето така:

for (int j = i, k = i; j >= i - bombPower && k <= i + bombPower; j--, k++)

но тогава Judgeto взе да ми дава само 50 точки. Та къде точно е проблема. Авторските решения от този изпит все още не са качени.

 

Тагове:
0
C# Advanced
Filkolev avatar Filkolev 4428 Точки

Авторските решения и тестовете са качени в страницата на курса, не са качени в джъджа. Намери предпоследната инстанция на курса по джава (те са три, т.е. втората) и там най-долу ще намериш архива.

Относно проблема ти - гърми ти втория нулев тест. Дебъгни с него и подозирам, че като го накраш и него да мине ще вземеш 100 точки.

0
onefen avatar onefen 27 Точки

Взех 100 точки но се наложи да подходя различно. Да изполвам IndexOf вместо да броя колко пъти съм намерил символа '|'. ето го крайния вариант даващ 100 точки в Judge.

http://pastebin.com/aYxKPFwG

0
RFilipov avatar RFilipov 136 Точки

Примерно решение от мен:

http://pastebin.com/hJKRxt5L

Минавам през целия стринг - засече ли бомба гърми.

0