21. *Поспаливата котка Том - лекция "Прости проверки" (напомняне)
Здравейте на всички,
реших да споделя опита си с начинаещите като мен, за да не правят същата грешка. На 2 пъти обирам 0/100,
въпреки че кода ми смяташе правилно! Поразрових детайлите и се оказа, че кода ми не е преминал началните тестове и съдията
не ме допуска до тези които проверяват аритметическите операции. Грешката ми, е че не съм дочел условието което ясно казва
изхода ми да е от 2 реда. Накратко не правете като мен, а четете условията повече от 1 път и гледайте правоъгълничетата с проиграните варианти. След като оправих сорс-кода ми да изписва 2 реда на изхода, както е показано в подсказките в правоъгълниците judge ми дада
100/100.
Знам, че не е съвършен, но който се интересува ето и моето решение за котарака Том:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PospalivataKotkaTom2
{
class Program
{
static void Main(string[] args)
{
var daysOff = int.Parse(Console.ReadLine());
var workDays = 365 - daysOff;
var timeForPlay = ((workDays * 63) + (daysOff * 127));
if (timeForPlay <= 30000)
{
var forSleeping = 30000 - timeForPlay;
var hours = forSleeping / 60;
var minutes = forSleeping % 60;
Console.WriteLine("Tom sleeps well");
Console.WriteLine("{0} hours and {1} minutes less for play", hours, minutes);
}
else
{
var forPlaying = timeForPlay - 30000;
var hours = forPlaying / 60;
var minutes = forPlaying % 60;
Console.WriteLine("Tom will run away");
Console.WriteLine("{0} hours and {1} minutes more for play", hours, minutes);
}
}
}
}
Мерси,
колкото повече решения, толкова по-добре, за да сглобим най-оптималния код.