|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||||||
Ошибка выполнения05.09.2024, 19:40. Показов 4338. Ответов 38
Здравствуйте. Тестирующая система выдает вердикт "ошибка выполнения". Я никак не понимаю, почему это может происходить. Ошибок при работе с памятью не нашел, переполнений переменных не должно быть (1 <= w,h <= 109, 0 <= n,m <= 105, 1 <= k <= n*m)
0
|
||||||
| 05.09.2024, 19:40 | |
|
Ответы с готовыми решениями:
38
Укажите где ошибка (ошибка во время выполнения программы)
Ошибка во время выполнения |
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||
| 06.09.2024, 19:19 [ТС] | ||
|
0
|
||
|
5841 / 1599 / 127
Регистрация: 21.04.2013
Сообщений: 9,263
|
|||||||
| 06.09.2024, 19:19 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||
| 06.09.2024, 19:33 [ТС] | ||
|
0
|
||
|
Вездепух
13236 / 6868 / 1827
Регистрация: 18.10.2014
Сообщений: 17,413
|
|||||||
| 06.09.2024, 20:47 | |||||||
0
|
|||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 06.09.2024, 20:58 | ||
|
Немного поразмыслив, не так то просто создать большое количество прямоугольников разной площади. Думаю можно попробовать закинуть их (площади) в std::map; Хотя решение всё равно тяжеловесное, но может пройти, из за соображения выше (что невозможно создать множество различных по площади прямоугольников). Плюс ещё вопрос, границы воображаемые или занимают точку (единицу измерения) ?
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 06.09.2024, 21:01 | ||
|
Вот например наше королевство и его дележ, уже отсортированных высот и ширин.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||
| 06.09.2024, 21:12 | ||||||
|
p.s. задачка то с подвохом
![]() Но в лоб всё равно не стоило решать. Нужно в полулоб ![]() Добавлено через 9 минут Чисто ради прикола ![]()
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
|||
| 06.09.2024, 21:21 [ТС] | |||
|
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 06.09.2024, 21:32 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||||||||
| 06.09.2024, 21:46 [ТС] | ||||||||
|
А решение с map я реализовал криво, сейчас оптимизирую. Добавлено через 8 минут Если что, вот мое решение с map. Вроде все нормально написано, но не проходит
0
|
||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 06.09.2024, 22:06 | ||
|
Значит нужно искать лазейку. Но уже не сегодня.
Добавлено через 5 минут Потому что можно w и h получить 109 и поделить на 4 части, и получить один квадрат со сторонами (109 - 1) Х (109 - 1. И угадай что будет.
0
|
||
|
Вездепух
13236 / 6868 / 1827
Регистрация: 18.10.2014
Сообщений: 17,413
|
|
| 06.09.2024, 22:24 | |
|
Очевидная особенность, которой можно/нужно воспользоваться:
0. Мы ищем K-тый по величине элемент воображаемой упорядоченной последовательности площадей (нумерация с нуля): K = (n+1)*(m+1)-k1. Пусть у нас есть отсортированные по возрастанию массивы ширин ws[] и высот hs[] графств. И мы будем идти циклом по возрастанию высот.2. Понятно, что при переходе к высоте hs[j], площадь minS = hs[j]*ws[0] будет минимальным пределом на будущее, то есть мы больше никогда не встретим площадь, меньшую чем этот minS.3. Поэтому мы можем выбросить из рассмотрения все площади, строго меньшие этой, и уменьшить K на единицу для каждого выброшенного элемента.4. Если в процессе выбрасывания K стало равным 0, то только что выброшенная площадь - и есть искомая.Разумеется, крайними "плохо работающими" случаями тут будет случаи, когда hs[] имеет много одинаковых элементов. (Понятно, что hs[] и ws[] - взаимозаменяемы.)Для борьбы с одинаковостью: на храним одинаковые площади явно, а подсчитываем количество их повторений. То есть работаем на основе std::map[площадь] = количество.
0
|
|
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
||||||
| 06.09.2024, 22:34 | ||||||
|
алгоритм вычисления всех площадей на простом примере
0
|
||||||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||
| 06.09.2024, 23:21 [ТС] | ||
|
Мне кажется, тут еще надо взаимодействовать с указателем во втором массиве, но мне не совсем понятно каким образом.
0
|
||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||||||
| 06.09.2024, 23:56 [ТС] | ||||||
|
Здравствуйте. На этот код тестирующая система выдает вердикт - ошибка выполнения. Никак не могу понять, из-за чего такое может происходить. Ошибок при работе с памятью не нашел, переполнения вроде тоже не должны происходить. (w и h не больше 10 в 9, n и m не больше 10 в 5, 1 <= k <= n*m )
0
|
||||||
|
Вездепух
13236 / 6868 / 1827
Регистрация: 18.10.2014
Сообщений: 17,413
|
|||||||
| 07.09.2024, 07:54 | |||||||
|
Для приведенных вами данных матрица площадей будет иметь вид ( ws - по горизонтали, hs - по вертикали):50 70 90 40 56 72 35 49 63 Я веду речь лишь о том, что при проcмотре этой матрицы снизу вверх, слева направо первый элемент каждой строки - это та площадь, меньше которой мы при дальнейшем просмотре уже никогда не встретим. Встретили 35 - далее меньше 35 мы уже не встретим. Встретили 40 - далее меньше 40 мы уже не встретим. Встретили 50 - далее меньше 50 мы уже не встретим. --- Вот реализация, построенная на этом принципе (особо усердно не тестировал)
Потестировал более усердно - все работает. Интерес представляет "подтасовка" входных данных так, чтобы заставить структуру as использовать как можно больше памяти. На случайных тестах расход все время получается мизерным.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||
| 07.09.2024, 12:50 [ТС] | ||
|
Добавлено через 8 минут
0
|
||
|
Вездепух
13236 / 6868 / 1827
Регистрация: 18.10.2014
Сообщений: 17,413
|
||||||||||||
| 07.09.2024, 20:12 | ||||||||||||
n и m - это долго. То есть нужно менять подход. Но с другой стороны есть надежда на Принцип Дирихле: чем больше величины n и m, тем мельче нарезка на графства, тем меньше разнообразие размеров графств. Поэтому в рамках "последней надежды" для данного подхода к реализации, можно попробовать применить тот же принцип std::map[размер] = количество и к хранению размеров графств, тем самым стараясь уменьшить фактические n и mПолучается даже немножко лаконичнее
P.S. Кстати, и в предыдущей версии формально надо было бы
1
|
||||||||||||
|
0 / 0 / 0
Регистрация: 05.09.2024
Сообщений: 16
|
||
| 08.09.2024, 02:02 [ТС] | ||
|
GPT вот кучей сделал. Мне казалось, это не должно проходить по памяти, так как также O(k), но оно проходит тест, где возникали основные проблемы, а ломается дальше, да и то именно из-за времени. Вообще не понимаю, как решать. Моя надежда была на map'ы, но нет.
0
|
||
| 08.09.2024, 02:02 | |
|
Ошибка выполнения цикла Ошибка выполнения signal 6 Ошибка времени выполнения. Ошибка времени выполнения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|