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

Programming Basics - Simple Loops - Equal Pairs

Здравейте колеги,

Имам следния казус по - задача 12, от домашното за "Simple Loops".

Условието на задачата е следното:

Еднакви двойки

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

Тествайте решението си в judge системата: https://judge.softuni.bg/Contests/Practice/Index/154#11.

Подсказки:

Прочитайте входните числа по двойки. За всяка двойка пресмятайте сумата.

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

Намерете най-голямата разлика между две двойки. Ако е 0, печатайте “Yes” иначе “No” + разликата.

Решението , което намерих във форума, е следното(понеже сам не успях да се справя) - https://pastebin.com/cePkyXRD - дава 100/100 в judge.

Проблема е там, че при примерен  вход:

  1. 3, 2, 1, 3, 0, 4, 7 - по така написания код програмата ще отпечата , че сумата от 3-те двойки не е еднаква и най-голямата разлика между две съседни двойки е 8, което е ОК спрямо условието на задачата.
  2.       Обръщаме местата на първата двойка (2,1) и третата (4,7) - 3, 4, 7, 3, 0, 2, 1 - сега вече програмата принтира , че имаме съвпадение и сумата от двойките е равна на 3 въпреки, че то е само в сумата на 2ра и 3та двойка, което според условието на задачата според мен не е ОК,защото е ясно упоменато, че сумата на всички двойки трябва да съвпада.

Моля, за помощ, judge ли не е направен да тества коректно дали е спазено условието или самото условие не е написано ясно.

Срещал съм и други такива двусмислени задачи, които за един начинаещ, като мен се са доста голяма главоблъсканица и разход на време://

 

1
Основи на програмирането 26/06/2017 23:00:47
kolioi avatar kolioi 371 Точки

+1

Намерил си две грешки наведнъж smiley Едната в Джаджа, другата в решението на колегата (+1 и за него затова, че е успял да излъже Джаджа laugh) Ето ти едно простичко решение и от мен https://pastebin.com/Z4rX9GD4

0