Loading...
tobieski avatar tobieski 6 Точки

Arrays - 4. Triple Sum

Здравейте, 

Условието на задачата, с която се боря е следното : 

-Write a program to read an array of integers and find all triples of elements a, b and c, such that a + b == c (where a stays left from b). Print “No” if no such triples exist. 

Смущава ме малко следното изречение :

  • Use nested loops to generate all pairs {a, b}, such that 0 ≤ a < b < n

В условието е казано, числото "а" да се намира в дясно от "b". а малко по - надолу в hint-a, е казано а да е по - малко от b. Тогава от къде идва отговор номер 5, в теста, който съм показал долу. И все пак получавам 60/100 в джъдж. Ето линк към моето решение тук 
Та въпросът ми е, какви може да са последните четири теста, защото не мога да се сетя.

Ето и един от тестовте, качени във файла : 

3 1 5 6 1 2

3 + 5 == 5

1 + 5 == 6

1 + 1 == 2

1 + 2 == 3

5 + 1 == 6

1 + 2 == 3

Тагове:
0
Fundamentals Module
ThePSXHive avatar ThePSXHive 436 Точки
Best Answer

Потърсих решение из форума и попаднах на това. От същата тема (цитат от puffed)

твоето решение (както и при всеки друг), изпечатва наистина всички тройки числа, дори и такива, които се повтарят. А Judge очаква само уникални тройки числа. Добави break, след като имаш намерена тройка; за да спира, и да не търси същите числа другаде из масива.

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

-1
tobieski avatar tobieski 6 Точки

Много благодаря за помощта !

1
danslavov avatar danslavov 22 Точки

Малко е стара темата, ама все пак може някой отново да попадне на нея, както аз. Първо в условието никъде не пише, че трябва да са уникални тройки и освен това те въпреки всичко са уникални (дори ако не се използва break;), понеже при всяка следваща комбинация поне едно от числата (a, b или c) е ново спрямо предишните комбинации. Просто е различен елемент от масива, макар и със същата стойност. Така поне аз разсъждавам и ми се струва, че условието е неточно или непълно.

1
ThePSXHive avatar ThePSXHive 436 Точки

За условието си прав, защото сумата е комутативна ф-я, и не би следвало да има значение дали a < b или b > a. 

a + b = b + a // комутативност

Затова предполагам, че са имали предвид индексите на a и b, които действително се намират в указания интервал.

-1
tobieski avatar tobieski 6 Точки

И все пак, при моето решение съм изпълнил тези тестове, катко са показани във файла. Но достигам само 60/100. 

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