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