Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/56: Рейтинг темы: голосов - 56, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 27.09.2022
Сообщений: 4

Задача про замок

27.09.2022, 21:24. Показов 11826. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер) Помогите решить задачку, мне кажется она решается рекурсией, но я не совсем понимаю, как оформить это в коде

В игре «Heroes of Wizardry and Sorcery» игровой мир представляет собой таблицу N × M с квадратными полями, длина сторон которых равна 1. Поля обозначаются (i,j), где i — номер строки, а j — номер столбца. Каждому полю соответствует магическая защита Di,j.

Ваш замок находится на поле (A,B). Вы можете построить защитную ограду в форме прямоугольника, стороны которого проходят по линиям таблицы, при этом замок должен находиться внутри ограды. Пусть верхнее левое поле забора (p,q), правое нижнее (r,s), а длина забора равна l. Тогда защитная сила забора равна Dp,q + Dr,s + l.

Требуется построить забор с максимальной защитной силой.

Первая строка стандартного входа содержит четыре целых числа — количество строк N (1 ≤ N ≤ 1000), количество столбцов M (1 ≤ M ≤ 1000) и координаты A и B — номер строки и столбца вашего замка (1 ≤ A ≤ N, 1 ≤ B ≤ M).
Каждая из последующих N строк содержит по M целых чисел. j-е число в i-й строке задаёт магическую защиту поля Di,j (1 ≤ Di,j ≤ 1000).
Примеры:

Входные данные:
3 3 2 2
8 8 1
7 9 5
3 4 7

Выходные данные:
27
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.09.2022, 21:24
Ответы с готовыми решениями:

Задача про велосипедный замок
Заранее спасибо тем, кто откликнулся. Задача: есть комбинация из N переключателей, каждый принимает значение "1" или...

задача про самолет (аналог задачи про рюкзак)
Мне хотелось бы, чтобы вы посоветовали и помогли мне, как правильно решить задачу. В самолет требуется погрузить n видов предметов,...

Задача про взлом кода из книги Эрика Фримена про основы javascript в конце 5 главы.
читаю книгу Эрика Фримена про основы javascript.В конце 5 главы есть задачка про взлом кода.Никак не могу понять как ее решить.НЕ понимаю...

32
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.09.2022, 23:05
Студворк — интернет-сервис помощи студентам
eaa, но в гугле россиян пока еще не банили...
0
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
30.09.2022, 23:06
Я вообще думал решить это через тернарник)
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
30.09.2022, 23:14
Цитата Сообщение от Visage__ Посмотреть сообщение
тернарник
это тернарный(троичный) поиск?

Добавлено через 56 секунд

Не по теме:

в веб-программисты чтол и податься. знать ничего не надо))

0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.09.2022, 23:24
Цитата Сообщение от Visage__ Посмотреть сообщение
Я вообще веб-программист, но меня вынудили это пройти
Ну если фронтенду предлагают задачу для бэкенда, то это действительно странно. Но у каждого свои причуды.
Что за контора?

Добавлено через 9 минут
Цитата Сообщение от Red white socks Посмотреть сообщение
Если же это не максимум, то по крайней мере должно отсечь кучу точек. И перебор по оставшимся.
Все-таки кажется, что этот шаг не понадобится. Ц.ф. - это сумма потенциалов плюс 4, поэтому точки с максимальными потенциалами дают решение.
0
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
30.09.2022, 23:29
Это не контора, а олимпиада)
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.09.2022, 23:34
В наше время участие в олимпиаде было сугубо добровольным делом.
0
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
30.09.2022, 23:39
Меня записали не особо поведав мне о чем она. Просто сказали, что есть олимпиада, и я в ней участвую
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.09.2022, 23:42
Visage__, но читерить (решать чужим умом) вас точно никто не заставляет.
0
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
30.09.2022, 23:43
аххахаха(

Я мог бы решить это задание, точнее уже решил, но с ограничением по времени справится не могу
Я сюда пришел как раз в поиске сокращенного кода
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
30.09.2022, 23:46
Зачем код сокращать? Тут он как раз увеличится.
1
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
30.09.2022, 23:47
Сокращать относительно времени выполнения
0
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
01.10.2022, 00:43
Цитата Сообщение от Visage__ Посмотреть сообщение
Я мог бы решить это задание, точнее уже решил, но с ограничением по времени справится не могу
Я сюда пришел как раз в поиске сокращенного кода
Ну так Вам ведь уже подсказали быстрый алгоритм. Левая верхняя клетка (p,q) должна лежать выше и левее замка (a,b) - в красной зоне, она добавит к защите свою магическую защиту и периметр (красные отрезки): D[p,q] + 2(a-p+1) + 2(b-q+1). Таким образом - линейным поиском ищем клетку (p,q) с максимальным этим значением. Аналогично - правая нижняя клетка (r,s) должна лежать правее и ниже замка - в зеленой зоне, она добавляет к защите: D[r,s] + 2(r-a) + 2(s-b). Искать клетки (p,q) и (r,s) можно сразу при чтении входных данных, не заводя память под их хранение. Ответ - сумма двух найденых значений (в синей и красной зоне).



всё испорчу, но пофиг
Python
1
2
3
4
n,m,a,b,d = 3,3,2,2,[[8,8,1],[7,9,5],[3,4,7]]
d1 = max(2*((a+b)-(i+j)+2)+d[i][j] for i in range(a+1) for j in range(b+1))
d2 = max(2*((i+j)-(a+b)+0)+d[i][j] for i in range(a,n) for j in range(b,m))
print(d1+d2)
2
0 / 0 / 0
Регистрация: 30.09.2022
Сообщений: 13
01.10.2022, 00:47
Код конечно рабочий, но уже поздно.
Я отправил какое-то решение на 250 баллов из 300.
Думаю, что нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2022, 00:47

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

Задача про Randomize и про проценты
Доброго времени суток. Возникла ещё одна задача, я думал что не сложная, как оказалось не знаю, как правильно решить. ...

Asus x52d горит одновременно два индикатора "замок открыт" и "замок закрыт"
При включении ноутбука Asus x52d горит одновременно два индикатора "замок открыт" и "замок закрыт", также...

Задача на перебор вариантов. Задача Л.Эйлера. Про чиновника
Задача Л.Эйлера. Некий чиновник купил лошадей и быков на сумму 1770 талеров. За каждую лошадь он уплатил по 31 талеру, а за каждого быка по...

Олимпиадная задача "Замок"
Намекните, как решать эту задачу. Готовлюсь к олимпиаде по информатике, и попалась очень сложная для меня задача. Помогите, пожалуйста!!! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки План доработки модели динамики микоризных симбиозов (EcM с гистерезисом) Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
сукцессия 3
anaschu 25.06.2026
Примерный план работ по модели
сукцессия 2
anaschu 25.06.2026
параметризировочная калибровочная таблица будущей модели
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал (мат мет мод 29)
anaschu 23.06.2026
Многофункциональное здание: как одно здание порождает конфликты требований, которые никто не планировал Материалы для обсуждения с МГСУ · 2026 Рисунки внутри приложенного ворд файла. Что за. . .
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно» Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую: Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий? Да, такие данные есть, и они хорошо описаны и в российской,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru