Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

canimirangelov avatar canimirangelov 19 Точки

Teleport Points

https://judge.softuni.bg/Contests/Practice/Index/104#3

Задачата е некоректна
Начертах втория пример и според мен авторското решение дава отговор с 6 или 5 по-малък от верния (зависи дали точката [0 0]е решение).

Oставям тук моя чертеж. Умножил съм всичко по 1/0.4 за да е подходящ мащаба.

Стъпката става равна на едно, радиусът на 25, а върховете на правоъгълника идват на [-50 -7.5] [50 -7.5] [50 7.5] [-50 7.5]

От съображения за симетрия разглеждам само първия квадрант и за момента не броя точките върху координатните оси. В първи квадрант има 7 реда по 24 точки (от корен от (25*25-1*1) до корен от (25*25 - 7*7) ) това са 168 точки. В четирите квадранта общо има 168*4 = 672 точки. Броят на точките по самите оси е равен на дължината им закръглена надолу, 25+25+7+7=64, 672 + 64 = 736 + точката, в която Deadpool стои в този момент = 737. Отговорът на автора е 731. Да приемем, че аз не съм разбрал и Wall hit Ouchie! означава, че не може да се телепортира в точка принадлежаща на стената. Махайки тези 4 точки остават 733. Да приемем, че точката, в която е той не се брой - 732. Отговорът на автора все още се различава с една точка.
Попитах приятел от ФМИ за помощ.Той потвърди пресмятанията ми и стигна до извода, че единственото логично обяснение е 6-те точки принадлежащи на окръжността да не се броят, защото Deadpool може да се телепортира само във окръжността. Така наистина се получава верния отговор, но авторът е написал Wall hit Ouchie! в едната от тези точки, което предполага, че Deadpool предупреждава да не броим тези точки, защото не иска да се удря в стената - устройството може да го телепортира в точка от окръжността. Дори това да е така не е казва дали точката [0 0] се брои. За какво му е да се телепортира в себе си?!
 

Тагове:
2
Programming Basics
Filkolev avatar Filkolev 4482 Точки

Точките върху стената на стаята не се броят, това си е казано в условието.

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

При този вход:

-1 -1

1 -1

1 1

-1 1

1

1

Програмата ти връща отговор 4, а очакваният е 1 (валидна е само стартовата точка). В единия от тестовете връщаш и отрицателно число. 

1
canimirangelov avatar canimirangelov 19 Точки

Ако въобще някой е решавал задачата нека прати чертеж, но се съмнявам. Математиката и физиката не се ценят в Софтуни.

Ако ще и -1234567890 да дава програмата ми това разбира се няма значение, защото постът няма общо с кода или резултата от програмата ми :).

http://postimg.org/image/fqiwlrv6z/

Разбира се, това не е първата абсурдна задача, на която попадам, но този път логиката на автора не е такава, че да можеш да си нагласиш решението по "Какво ли може да си е мислил този човек, докато пише задачата, защото не е това, което е написал?".

Нито една от точките не е върху стената във втория пример (който аз съм начертал на лист хартия). В оригиналните стойности стъпката е 0.4, а стената е на 3 и -3, което значи, че последната точка е на 2.8 и аз съм я преброил правилно (при мен * 2.5 точката е на 7, а стената на 7.5). 

Как точно съм броил някоя точка два пъти като аз ги броя ред по ред квадрант по квадрант?

Ако все още не сте съгласни ще начертая на стената вкъщи задачата и ще номерирам точките една по една. 

Мислете каквото решите!

Задачата е категорично грешна!

2
16/10/2015 11:34:02
PavelManahilov avatar PavelManahilov 216 Точки

Здравей, колега. Правиш грешката, че си мислиш като увеличиш всички стойности еднакво трябва да получиш същия резултат, но грешиш. Въведи твоите стойности в кода който е представил автора и виж че тогава отговора на задачата му е точно 737. 

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

0
canimirangelov avatar canimirangelov 19 Точки

Т.е. решението на автора е грешно само при някои стойности? Разбира се, че нямам грешка, защото коефициентът ми е само за зуумване така да се каже и навсякъде, където го има в алгоритъма се съкращава. Представи си, че си начертал оригиналните координати и една стъпка е 0.4 сантиметра, а после зуумнеш 2.5 пъти и измериш дължината на стъпката отново - тя ще е точно сантиметър, но изображението ще е същото и броят на точките ще е същия. Но няма проблем, мога да го начертая и със стъпка 0.4 ако не се съгласите.

2
slavpetroff avatar slavpetroff Trainer 155 Точки

За тази задача,аз също мислих какви ли не варианти.Решавах я няколко пъти по различни начини.И никога не се получи очаквания от автора резултат.Струва ми се че в стремежа си да измислят нови задачи,авторите пропускат основни неща.Било то от гледна точка на математиката в задачите или от гледна точка на обясненията.Има задачи с абсурдни условия.Последната беше Largest non-decrease array,мисля че се казваше,където очакваните резултатите са тотално различни за два от примерите.Уж в условието казват,че трябва това множество да е съквупност от последователни цифри,а на резултатите - обратното ... Относно коментара на г-н Колев : "Твърде много хора вече са решавали задачата, за да се окаже тепърва, че е тотално сбъркана."  - не съм съгласен.Всеки,като види очаквания резултат,започва да си нагажда задачата по него.И започва едно лутане из дебрите на логическото мислене на автора ... Към авторите имам една молба : Хубаво е че искате да ни затрудните,но не го правете с подвеждащи условия!Това не е първата задача,която е с подвеждащо условие.

П.С : Казвам абсурдни условия,като приемам,че най-добре автора онагледява логиката си чрез примерите.Т.е приемам че примерите са вярни.Ако приемем,обаче,че примерите са грешни,а условието за правилно,тълкувайте думите ми,като : абсурдни примери.

 

5
16/10/2015 11:42:50
PavelManahilov avatar PavelManahilov 216 Точки

Колега, проблема тук според мен е , че тези които откриват тези "абсурдни условия или примери" не ги докладват, а идват във форума и тук се оплакват, а хората са направили възможност за докладване на грешки към всички теми поне за Programming Basics (за другите не знам все още ), защото всички сме наясно, че няма безгрешни всеки допуска грешки.

0
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

+1 за абсурдните условия, още се опитвам да направя отрицателен брой лицеви упори. Ограниченията и валидацията са хубаво нещо, но нали все пак си имат някакъв контекст задачите.

2
slavpetroff avatar slavpetroff Trainer 155 Точки

Колега,вече докладвах за няколко такива задачи.Отговор нямаше,нито пък задачите бяха поправени.Като дори проблема не беше толкова сложен.Беше объркан примера за едната,втората не можеше да се практикува,а третата не си спомням.Така,че освен да се "оплакваме" във форума,друго явно няма смисъл.Не искам да се заяждам,просто отбелязвам,че преди да пиша тук съм опитал по реда на нещата, с докладване.

2
16/10/2015 18:01:37
annsta avatar annsta 305 Точки

Според мен задачата е напълно коректна, когато се търсят позиции, за които едновременно са изпълнение следните условия: (1) точките са във вътрешността или по окръжността (тъй като тези позиции са в обхвата на телепорта) и (2) във вътрешността на стаята, но не по стените. Позиция [0,0] е валидна позиция, защото Deadpool би могъл да я достигне с втора стъпка. Като проверки в кода това става: (1) distance(0, point[x,y]) <= radius и (2) room.Left < x < room.Right && room.Bottom < y < room.Top. С тези проверки решението минава 100% от тестовете.

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