Loading...
aggeorgiev avatar aggeorgiev 326 Точки

Simple Loops задача 12. Equal Pairs Тест 7

Тест №7 (Грешен отговор)

no maxdiff 88                                                        no maxdiff 145

очакван резултат                                                   моя резултат

След като проверих данните на ръка, смятам че теста в системата за проверка е грешен.

https://judge.softuni.bg/Contests/Practice/Index/154#11

 

моят код:

https://pastebin.com/fkLv49YY

 

Моля, някой да ме поправи ако греша.

Тагове:
0
Programming Basics 04/04/2017 14:53:34
borkins avatar borkins 47 Точки
Best Answer

Ето основните стъпки в цикъла:
1. Първа итерация: 
Четем и записваме двете стойности. Събираме ги като текуща двойка.
Тъй като още сме в първата итерация на цикъла, не знаем каква е сумата на втората двойка, затова прескачаме записа на стойността като максимална, и записваме стойността на текущата двойка като предходна.

2. Втора итерация:
Получаваме сумата на новата двойка.
Вече знаем и предходната, затова проверяваме абсолютната стойност на разликата м/у новата и предходната двойка. И ако тя е по-голяма от текущата максимална разлика, я запазваме като максимална. Накрая записваме сумата на новата двойка като предходна.

За сравнение, ето линк към моето решение.

0
07/04/2017 04:33:53
simeon3000 avatar simeon3000 264 Точки

Решението е много готино и дава 100/100, макар че не е спазено условието на задачата да проверява всички двойки дали са равни, а не само последните, както и разликата да не е само между последните две двойки.

 

"Дадени са 2*n числа. Първото и второто формират двойка, третото и четвъртото също и т.н. Всяка двойка има стойност – сумата от съставящите я числа. Напишете програма, която проверява дали всички двойки имат еднаква стойност или печата максималната разлика между две последователни двойки. Ако всички двойки имат еднаква стойност, отпечатайте "Yes, value=…" + стойността. В противен случай отпечатайте "No, maxdiff=…" + максималната разлика."

 

Пробвайте с 4 двойки 1, 1,  2, 2,  9, 0,  8, 1 и вижте какъв отговор дава и дали е спазено условието -програмата връща отговор Yes, value=9, а мисля че според условието трябва да даде No, maxdiff=5.

 

Или с разликите: 3 двойки 1, 0,  5, 2,  8, 1 - дава No, maxdiff=2, а трябва да е No, maxdiff=6

0
05/04/2017 00:47:51
borkins avatar borkins 47 Точки

Да, прав си! Явно не съм схванал напълно идеята. Ама judge-a, и той си мълчеше. :)
Иначе проверката дали всички двойки са еднакви е излишна, защото проверяваме за максималната разлика м/у тях. Ако тя е нула накрая, то сумите на всички двойки са еднакви.
Коригирах нещата.
Благодаря ти!

0
nikiman8888 avatar nikiman8888 6 Точки

Ето едно правилно решение:

https://pastebin.com/Eee8yHC3

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.