Морской бой

Выполнен
Заказ
695730
Раздел
Программирование
Предмет
C/C++
Тип работы
Антиплагиат
Не указан
Срок сдачи
16 Дек 2016 в 23:59
Цена
150 ₽
Блокировка
10 дней
Размещен
23 Ноя 2016 в 12:23
Просмотров
404
Описание работы
На прямоугольном поле для игры в морской бой размером M×N
расположено несколько прямоугольных кораблей. Корабли не соприкасаются друг с другом. Ваша задача — определить всевозможные типы кораблей на поле и число кораблей каждого типа. Два корабля относятся к одному типу, если их размеры совпадают (корабли, которые могут быть получены друг из друга поворотом, также относятся к одному типу).
Входные данные
Первая строка входных данных содержит два положительных числа M и N, не превосходящих 1000, задающие размеры поля. Далее идет M строк, каждая из которых состоит из N символов. Символ `1' означает, что соответствующая клетка поля занята кораблем, символ `0' — что свободна. Пробелов в строке нет.
Выходные данные
Программа должна для каждого обнаруженного типа корабля вывести одну строку, содержащую три числа. Первые два числа задают размеры корабля (первое число должно быть не меньше второго), третье число задает количество кораблей данного типа на поле. Строки в выводе должны быть отсортированы по первому числу, затем по второму числу.
Пример входных данных
6 10
0111000011
0000011011
0100011000
0101011011
0100000000
0001111011
Пример выходных данных
1 1 1
2 1 2
2 2 2
3 1 2
3 2 1
4 1 1
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир