|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|||||||||||
Олимпиадная задача на bfs11.08.2020, 01:04. Показов 4767. Ответов 46
Метки нет (Все метки)
Была задана вот такая задача:
Всем известна увлекательная игра «Морской бой». Сейчас играть в морской бой можно не только с соседом по парте, но и с компьютером. Игра c компьютером ведется на прямоугольном поле произвольных размеров N×M, где N - количество строк, M - количество столбцов. Приближается чемпионат Мира по морскому бою. Планируется вести его трансляцию в режиме реального времени: демонстрировать карту с кораблями и выводить статистику: количество целых, подбитых и уничтоженных кораблей, находящихся на поле. Требуется написать программу для подсчета статистики. Корабль на поле — это связанная фигура, стоящая из одной или нескольких рядом лежащих клеток, имеющих общую сторону. Корабли могут быть абсолютно любых форм и размеров! Входные данные Первая строка входного файла INPUT.TXT содержит два целых числа N и M (1≤ N,M ≤ 103), разделённых пробелами - размеры игрового поля. Далее идут N строк по M символов - описание игрового поля. Английская буква 'X' обозначает подбитую клетку корабля, 'S' - не подбитую клетку корабля, '-' – свободное водное пространство. Выходные данные В выходной файл OUTPUT.TXT выведите через пробел три числа: количество целых кораблей количество подбитых кораблей количество уничтоженных кораблей Пример №1
0
|
|||||||||||
| 11.08.2020, 01:04 | |
|
Ответы с готовыми решениями:
46
Олимпиадная задача |
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 15:16 [ТС] | |
|
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 11.08.2020, 15:19 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 15:20 [ТС] | |
|
Не убирал. После того, как вы предложили сменить int на char, я и сменил, но потом написал, что и это не помогло, тк памяти стало заниматься еще больше, чем с int
0
|
|
|
фрилансер
6494 / 5722 / 1133
Регистрация: 11.10.2019
Сообщений: 15,282
|
||
| 11.08.2020, 15:22 | ||
|
Добавлено через 59 секунд и, соответственно, вместо vector<vector<int> > types сделать vector<uint8_t> нужной длины
0
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||||||||||||
| 11.08.2020, 15:52 | |||||||||||||||||
Сбрасывать ещё надо просмотренные клетки
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 16:05 [ТС] | |
|
А почему для ans вы выделили 4 ячейки?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 11.08.2020, 16:11 | ||
|
1 - убит, 2 - живой, 3 - ранен Добавлено через 49 секунд 0 - количество пустых ячеек
0
|
||
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 16:25 [ТС] | |
|
Вывод у программы по вашему алгоритму довольно странный - 19 3 2 0, данные по кораблям совсем другие
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 11.08.2020, 16:27 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 16:32 [ТС] | |
|
2 целых корабля
1 подбитый 1 уничтоженный
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 11.08.2020, 16:41 | |||||||
|
Добавлено через 2 минуты
0
|
|||||||
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 18:16 [ТС] | |
|
Теперь TL ..
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 11.08.2020, 18:18 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
||||||
| 11.08.2020, 18:19 [ТС] | ||||||
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 11.08.2020, 21:57 | |||||||
|
Добавлено через 53 секунды
0
|
|||||||
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 22:47 [ТС] | |
|
И снова превышение памяти на том же тесте, что и бы в самый первый раз
0
|
|
|
фрилансер
6494 / 5722 / 1133
Регистрация: 11.10.2019
Сообщений: 15,282
|
|
| 11.08.2020, 23:02 | |
|
programmist-, можно попробовать однострочное сканирование доски (сверху вниз, например). Алгоритм будет сложнее, но памяти потребуется немного. Скорость работы предсказать не берусь
0
|
|
|
0 / 0 / 0
Регистрация: 11.08.2020
Сообщений: 23
|
|
| 11.08.2020, 23:03 [ТС] | |
|
Буду пробовать
0
|
|
|
фрилансер
6494 / 5722 / 1133
Регистрация: 11.10.2019
Сообщений: 15,282
|
|||||||||||
| 12.08.2020, 03:44 | |||||||||||
|
programmist-, чтобы не так скучно было пробовать, накидал свой вариант построчного сканирования.
Внимание! В этом варианте есть ограничения, введённые для отладки. Они сожрут всю память и время, если сейчас подать большие поля. Класс s_ship_debug_info и мапа td_ships_debug_list - отладочные. показано, как накопить нужную информацию + вывод в консоль от "дебажности", само собой, тебе предстоит избавиться, заменив на подсчёт статистики
0
|
|||||||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 12.08.2020, 05:36 | |||||||
0
|
|||||||
| 12.08.2020, 05:36 | |
|
Олимпиадная задача
Олимпиадная задача олимпиадная задача Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|