C# Basics Exam 26 April 2015 Evening - 02. Petar's Game .
Здравейте,
Ако някой може да прегледа кода и да ми подскаже къде ми е грешката . Изкарвам 70/100 точки.
Благодаря предварително.
Здравейте,
Ако някой може да прегледа кода и да ми подскаже къде ми е грешката . Изкарвам 70/100 точки.
Благодаря предварително.
1. Два от тестовете, които са ти грешни са лимит време, тоест замисли се защо? Какво в кода го прави толкова тромав, че да не стига времето на 2 теста?
Използваш BigInt на повече места, отколкото трябва. Числата, които се подават на входа, идеално се събират в ulong (тъй като няма отрицателни стойности) in the range [0 … 18 446 744 073 709 551 615]. Трябва да имаш предвид винаги, че BigInt-а и стринговете работят бавно.
2. Условията на задачите трябва да се прочитат внимателно. Заместването става след като приключи събирането. After he is done with the numbers, Petar likes to replace some of the sum's digits with strings. 70-те точки пак са добре значи :) Понякога малко недочитане може да ти провали задачата.
3. Като си тестваш решението в системата и имаш грешни отговори, като погледнеш детайлите можеш да видиш кой тест дава грешен отговор. Теглиш си тестовете от системата и проверяваш този тест, който ти дава грешка. Взимаш входните данни тестваш си, гледаш твоя отговор, гледаш какъв трябва да е отговора и мислиш къде може да имаш грешка. Така процедирам аз поне. Дебъгваш си и е много важно да си следиш логиката на задачата дали работи правилно.
http://pastebin.com/VprwpkTb това е една примерна редакция на задачата ти, със сигурност може да се направи по-елегантно решението, написала съм го много набързо, може да помислиш как да се оптимизира. :)
Друго може да гледаш авторското решение и да го сравняваш с твоето, така също се откриват грешки и се научават доста неща.