Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сапёрская задача

5
07 ноября 2005 года
hardcase
4.5K / / 09.08.2005
Вот такую задачу пытался решить на контесте в CBOSS. Это олимпиадная задача, по моему та ещё гробина. :(
Если кто знает, как решить такую вещь - просто примерный алгоритм подкинте; чёрт с ним, с кодом..... X)-
Цитата:

тыры-пыры.....
"Миное поле чудес" находилось на окраине Тьмускорпионии. Его карта представляла собой прямоугольник из клеток. В каждой клетке может находится либо не находится одна мина.
На данный момент поле было частично исследовано - то есть про некоторые клетки известно, есть там мина или нет. При отсутствии мины в клетке известно общее кол-во мин в соседних (по стороне и углу) клетках. Известно также общее кол-во мин на поле.
В данной задаче по заданной начальной ситуации вы должны определить вероятности нахождения мин в неоткрытых клетках. Под вероятностью того, что в данной клетке находится мина, понимается отношение количества возможных вариантов расстановки мин, при которых в данной клетке находится мина, к общему количеству вариантов.
При подсчёте кол-ва вариантов, мы должны считать только те расстановки, которые согласуются с заданной начальной ситуацией.
Гарантируется, что начальная ситуация задана корректно, т.е. существует по крайней мере одна расстановка мин, с ней согласующаяся. Также гарантируется, что кол-во клеток, соприкасающихся с открытыми клетками, не превышает 25.

Input:
В первой строке файла записаны через пробел три целых числа N, M, K. M и N - размер поля (2<=N, M <= 20), а K - общее количество мин (0 <= K <= N x M)
В последующих N строках задаётся само поле. Каждая строка - M символов, каждый из которых описывает клетку поля. Символы '0'..'9' обозначают кол-во мин в соседних клетках. Прописная латинская 'X' - неоткрытая клетка. 'M' - клетка, в которой точно есть мина.

Output:
В первой строке выходного файла всё теже N M K, в последующих - N строк по M вещественных чисел, каждое из которых - вероятность нахождения мины в соответствущей клетке.


Какие будут прдложения :???: :???: :???:

255
07 ноября 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by hardcase
Вот такую задачу пытался решить на контесте в CBOSS. Это олимпиадная задача, по моему та ещё гробина. :(
Если кто знает, как решить такую вещь - просто примерный алгоритм подкинте; чёрт с ним, с кодом..... X)-

Какие будут прдложения :???: :???: :???:


ИМХО, нужно анализировать сначала контурі вокруг областей, где нет бомб. В них - перебирать все возможніе варианті размещения бомб и отобрать те, которіе удовлетворяют условию. Тогда для ячейки в позиции (x,y) вероятность того, что там находится бомба - к-во вариантов в которіх она там есть поделить на все варианті. Если такие контурі покрівают не все поле, то в оставшихся клеточках вероятность попадания мині - количество оставшихся мин поделить на количество клеточек.

Сорри за і - сижу за компом где глючит русская раскладка.

P.S. А что еще за задачки біли?

5
07 ноября 2005 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by Dart Bobr
ИМХО, нужно анализировать сначала контурі вокруг областей, где нет бомб. В них - перебирать все возможніе варианті размещения бомб и отобрать те, которіе удовлетворяют условию. Тогда для ячейки в позиции (x,y) вероятность того, что там находится бомба - к-во вариантов в которіх она там есть поделить на все варианті. Если такие контурі покрівают не все поле, то в оставшихся клеточках вероятность попадания мині - количество оставшихся мин поделить на количество клеточек.


Мой вариант был следующим.
Для начала надо действовать как в игре сапёр: расширить, по возможности, известные области. А дальше думать, куда пихать мины. Дело в том, что в облатсь O мы можем запихнуть мин количеством от a до b (a <= b) - вот в этом вся проблема - как их определить. Потом определиться, сколько мин мы будем пихать в конкретную область (возможно даже дробное число).
Потом заполняем вероятности - с этим проблем у меня нету

Цитата:
Originally posted by Dart Bobr
P.S. А что еще за задачки біли?


Задачк былы, одна из них про Японский кроссворд, но все они у меня в расчепятанном виде, а ФайнРидер расталкивать ленно, иожет завтра...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог