Programming Fundamentals - Exam - 26 February 2017 Part I - Hornet Wings

Programming Fundamentals - Exam - 26 February 2017 Part I - Hornet Wings

akiprov avatar akiprov 19 Точки

Programming Fundamentals - Exam - 26 February 2017 Part I - Hornet Wings

В примерите към тази задача е допусната логическа грешка.
Броят на почивките не е равен точно на flaps / endurance. Трябва да се извади една единица.
Последната почивка се случва след пресичане на финиша, когато хронометъра вече е спрян.
Давам пример:
2000 flaps
500 endurance
=> 4 отсечки, за които се изразходва по 500 енергия, но само 3 спирки за почивка между всяка от тях:
СТАРТ
изразходване на 500 енергия;
(1) почивка между отсечки 1 и 2
изразходване на 500 енергия
(2) почивка между отсечки 2 и 3
изразходване на 500 енергия
(3) почивка между отсечки 3 и 4
изразходване на 500 енергия
ФИНАЛ
-почивка, след края на състезанието, която не трябва да има отношение към времето необходимо за завършване

1
Programming Fundamentals
AlucardDracula avatar AlucardDracula 365 Точки
uint flaps = uint.Parse(Console.ReadLine());
double FiveMeterPerThousandFlaps = double.Parse(Console.ReadLine());
uint rest = uint.Parse(Console.ReadLine());
Console.WriteLine("{0:f2} m.",(flaps/1000)*FiveMeterPerThousandFlaps);
Console.WriteLine("{0} s.", (flaps/100) + ((flaps / rest)*5));

Ето решението на задачата колега.

Мисля че си объркал задачата, защото входа е :

2000
5
200

а изхода :

10.00 m.
70 s.

и коментара към него : 

The contestant has chosen to do 2000 wing flaps. 
He moves 5 meters per 1000 wing flaps.
He rests every 200 wing flaps for 5 seconds.
The distance is (2000 / 1000) * 5 = 2 * 5 = 10.00 meters.
The hornet flaps 100 times for a second, so 2000 / 100 = 20 seconds. 
But it also rests for 5 seconds every 200 flaps.
(2000 / 200) * 5 = 10 * 5 = 50; 20 + 50 = 70 seconds.

 

0
01/11/2017 18:07:50
akiprov avatar akiprov 19 Точки

Мисля, че не разбирате какво искам да кажа, колега.
Имам 100/100 точки в Judge, но решението, което пуснах, за да ги получа не трябва да се счита за вярно, защото е базирано на грешна логика.
Не знам защо копирате целия документ във форума. Може би смятате, че не мога да чета?
Хайде сега вие внимателно прочетете това, което копирахте и ми кажете откривате ли нещо съмнително в тия два реда:

But it also rests for 5 seconds every 200 flaps.

(2000 / 200) * 5 = 10 * 5 = 50; 20 + 50 = 70 seconds.

Ако трябва да изминете 1км, но имате нужда от почивка на всеки 500м, 2 пъти ли ще почивате или веднъж преди да се считате пристигнал?
След като вече сте пристигнал трябва ли да продължи да ви се начислява време за почивка или не?

1
AlucardDracula avatar AlucardDracula 365 Точки

написах че може би си грешил задачата щото си писал :

2000 flaps
500 endurance

а пък ти липсва distance for 1000 wing flaps.

0
01/11/2017 19:24:36