Задача в Си

Выполнен
Заказ
441376
Раздел
Программирование
Предмет
C/C++
Тип работы
Антиплагиат
Не указан
Срок сдачи
29 Ноя 2015 в 22:00
Цена
300 ₽
Блокировка
10 дней
Размещен
23 Ноя 2015 в 18:36
Просмотров
364
Описание работы
Задача состоит в том, чтобы создать программу, которая будет оценивать распространение заболевания в офисе.
Офис имеет прямоугольную форму, люди сидят у столов, которые расположены в строки и столбцы. Место в офисе занято здоровым работником, больным работником или пустое. Больной работник в течении дня может заразить соседа слева, справа, спереди и сзади. На следующий день, новые больные заражают своих соседей. Болезнь не распространяется через пустые места.
На входе размер офиса (кол-во строк и столбцов). Потом вводится карта офиса, состоящая из 3 символов:
. (точка)-пустое место
о (маленькая о)-здоровый работник
! (воскл. знак)-больгой работник
Карта не содержит другие символы и пробелы, после каждой строки должен быть только знак новой строки "\n".
На выходе общее кол-во зараженных и продолжительность заражения (кол-во дней, в течение которых увеличивается число зараженных ).
Пример карты 1:
!...
....
оооо
Никто не заразится, т.е. продолжительность заражения 0.
Пример карты 2:
.о..ооо
о!о.ооо
.о..ооо
Продолжительность заражения 1.
Программа выводит ошибку если:
Размер офиса в не диапозоне от 1 до 500
После ввода размеров офиса нет \n
Карта не имеет форму прямоугольника
Карта имеет символ кроме "." "!" "о"
Пример работы программы:
Размер офиса:
4 4
oooo
oooo
oooo
!ooo
Зараженных: 16, время заражения: 6
Размер офиса:
4 4
o.oo
o.oo
o..o
!o.o
Зараженных: 5, время заражения: 3
Размер офиса:
4 4
oooo
o.oo
o..o
!o.o
Зараженных: 12, время заражения: 9
Размер офиса:
4 4
!oo!
o.oo
o..o
!o.o
Зараженных: 12, время заражения: 3
Размер офиса:
6 8
ooo!oooo
o......o
o.oooo.o
o.oooo.o
o......o
oooooooo
Зараженных: 24, время заражения: 12
Размер офиса:
7 8
!ooooooo
.......o
oooooooo
o.......
oooooooo
.......o
oooooooo
Зараженных: 35, время заражения: 34
Размер офиса:
2 2
.o
o.
Никто не заразился.
Размер офиса:
4 4
oooo
oooo
oooo
Xooo
Ошибка при входе.
Размер офиса:
4 4
oooo
ooooo
oooo
!ooo
Ошибка при входе.
Размер офиса:
5 4
oooo
oooo
oooo
!ooo
Ошибка при входе.
Если решать постоянно проверяя кто находится радом, то для больших чисел будут долгие вычисления. Нужен алгоритм для более быстрого решения!
Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
4 дня 20 часов 20 минут
Выполнен в срок
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир