Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
SergeyM
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 13
#1

"Замок" (на перебор с возвратом) - C++

13.12.2010, 17:31. Просмотров 1140. Ответов 0
Метки нет (Все метки)

Написать программу, которая определяет:
  1. количество комнат в замке;
  2. площадь наибольшей комнаты;
  3. какую стену в замке следует удалить, чтобы получить комнату наибольшей площади.


Замок условно разделен на M*N клеток (М<=50, N<=50). Каждая такая клетка может иметь от 0 до 4 стен.

Входные данные

План замка содержится во входном файле в виде последовательности чисел, по одному числу, характеризующему каждую клетку.
  • В начале файла расположено число клеток в направлении с севера на юг и число клеток в направлении с запада на восток.
  • В последующих строках каждая клетка описывается числом р (0<р<15). Это число является суммой следующих чисел: 1 (если клетка имеет западную стену), 2 (северную), 4 (восточную)-, 8 (южную). Внутренняя стена считается принадлежащей обеим клеткам. Например, южная стена в клетке (1,1) также является северной стеной в клетке (2,1).
  • Замок содержит по крайней мере две комнаты.
Пример файла исходных данных INPUT.txt для примера, изображенного на рисунке:

4
7
11 6 11 6 3 10 6
7 9 6 13 5 15 5
1 10 12 7 13 7 5
13 11 10 8 10 12 13

Выходные данные

В выходном файле должны быть три строки. В первой строке содержится число комнат, во второй — площадь наибольшей комнаты (измеряется количеством клеток). Третья строка содержит три числа, определяющих удаляемую стену: номер строки, номер столбца клетки, содержащей удаляемую стену, и положение этой стены в клетке (N — север, W — запад, S — юг, Е — восток).

Пример выходного файла для рисунка:

5
9
4 1 Е

("4 1 Е " - один из возможных способов описания удаляемой стены)
Миниатюры
"Замок" (на перебор с возвратом)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 17:31     "Замок" (на перебор с возвратом)
Посмотрите здесь:
В чём разница между возвратом "string" и "const string&" & C++
C++ Олимпиадная задача "Замок"
C++ Построчное чтение, с "возвратом" назад
C++ Функции.Перебор с возвратом
C++ Перебор/поиск с возвратом в графе
C++ Необработанное исключение в "0x77913ab3" в "x": 0xC0000005: Нарушение прав доступа при чтении "0xdddddddd"
Строка: заменить первую "о" на "а", удалив остальные "о" C++
C++ WinAPI "Copy", "Paste", "Delete" в контекстном меню
Поменять знак " $ " на " * " к первому вхождению символа " ? " C++
C++ Подскажите как перегрузить операторы ">>", "<<" и "="
C++ Переменные "емкость", "Галлон", "Бензин"
Классы "Фигура", "Прямоугольник", "Круг" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru