- Преподавателю
- Информатика
- Олимпиадные задания по информатике
Олимпиадные задания по информатике
Раздел | Информатика |
Класс | - |
Тип | Другие методич. материалы |
Автор | Асанова А.Т. |
Дата | 28.04.2014 |
Формат | doc |
Изображения | Нет |
Морской бой - 3
(Время: 1 сек. Память: 16 Мб Сложность: 21%)
«Морской бой» - игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Если у соперника по этим координатам имеется корабль, то корабль или его часть «топится», а попавший получает право сделать еще один ход. Цель игрока - первым поразить все корабли противника.
«Морской бой» очень популярен среди учеников одной физико-математической школы. Ребята очень любят в него играть на переменах. Вот и сейчас ученики Иннокентий и Емельян начали новую партию.
Правила, по которым ребята расставляют корабли перед началом партии, несколько отличаются от классических. Во-первых, игра происходит на поле размером N x M, а не 10 x 10. Во-вторых, число кораблей, их размер и форма выбираются ребятами перед партией - так играть намного интереснее.
Емельян уже расставил все свои корабли, кроме одного однопалубного. Такой корабль занимает ровно одну клетку.
Задана расстановка кораблей Емельяна. Найдите число способов поставить оставшийся однопалубный корабль. При этом учитывайте, что по правилам его можно ставить только в ту клетку, все соседние с которой не заняты. В этой задаче соседними считаются клетки, имеющие общую сторону.
Входные данные
Первая строка входного файла INPUT.TXT содержит два числа: N и M (1 <= N, M <= 100). Последующие N строк описывают игровое поле - каждая из них содержит M символов. Символом «.» (точка) обозначена свободная клетка, символом «*» (звездочка) - занятая кораблем.
Выходные данные
В выходной файл OUTPUT.TXT выведите ответ на задачу.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
4 4
****
**..
*...
*...
4
2
4 3
***
...
...
***
0
Теңіз шайқасы - 3
(Уақыт: 1 сек. Жады: 16 Мб Күрделілігі: 21%)
«Теңіз шайқасы»-қарсыласының таныс емес картасында кезекпен координатты көрсететін екі қатысушыға арналған ойын.
Егер аталған координатада қарсыласының кемесі болса ол суға батырылып, ойыншы ары қарай жалғастырады. Ойынның мақсаты-кемелерді бірінші болып жою.
«Теңіз шайқасы»- ойыны физика-математикалық бағыттағы мектептің оқушыларының арасында қызыға ойнайтын ойын. Олар бұл ойынды қоңырау арасында ойнайды. Қазір де Иннокентий және Емельян жаңа партия бастап жатыр.
Балалардың кемелерді партия басында орналастыруы классикалық нұсқадан айырмашылығы бар. Біріншіден ойын 10 x 10 емес N x M өлшемді алаңда өткізіледі. Екіншіден кеме саны, өлшемі және формасы ойыншылармен алдын ала келісіледі.
Емельян бір плубалы кемесінен басқа барлық кемелерін қойды. Бұл кеме тура бір клетканы алады. Емельянның кемелерінің орналастыруы берілген. Бірпалубалы кемені орналастырудың әдіс санын табу керек. Сонымен бірге бірпалубалы кемені орналастыру ережесі бойынша көрші клеткалары бос клеткаға қоюға болады. Бұл есепте көршілес деп ортақ қабырғалары бар клеткалар саналады.
Енгізілетін мәліметтер
Енгізу файлының INPUT.TXT бірінші жолы екі N және M (1 <= N, M <= 100) санынан тұрады. N жолы M символынан тұратын алаңды білдіреді.
«.» (нүкте)символымен бос клетка белгіленген, ал «*» (жұлдызша) символымен кеме орналастырылған клетка белгіленген.
Шығаратын мәлімет
Шығару файлында OUTPUT.TXT есеп жауабын көрсетіңіз.
Мысалдар
№
INPUT.TXT
OUTPUT.TXT
1
4 4
****
**..
*...
*...
4
2
4 3
***
...
...
***
0