Решения задач acmp.ru
Главная
Вход
Регистрация
Воскресенье, 27.09.2020, 13:35Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » C++

0413 Военная база

Скачать файл можно после просмотра рекламы:

05.06.2012, 03:13
#include <stdio.h>

char ** matrix;
unsigned int a, b;

void check(unsigned int x, unsigned int y)
{
if (x<a-1)
if (matrix[x+1][y]=='#')
{
matrix[x+1][y] = '.';
check(x+1, y);
}

if (x>0)
if (matrix[x-1][y]=='#')
{
matrix[x-1][y] = '.';
check(x-1, y);
}

if (y<b-1)
if (matrix[x][y+1]=='#')
{
matrix[x][y+1] = '.';
check(x, y+1);
}

if (y>0)
if (matrix[x][y-1]=='#')
{
matrix[x][y-1] = '.';
check(x, y-1);
}
}

int main()
{
FILE * f = fopen("input.txt", "r");
fscanf(f, "%d %d", &a, &b);
matrix = new char* [a];

for (int i = 0; i < a; i++)
{
matrix [i] = new char [b];
fscanf(f,"%s", matrix[i]);
}
fclose(f);

unsigned int sum = 0;

for (int i = 0; i < a; i++)
for (int j = 0; j<b; j++)
if (matrix[i][j] == '#')
{
sum++;
check(i,j);
}

f = fopen("output.txt", "wt");
fprintf(f, "%d", sum);
fclose(f);

return 0;
}
Категория: C++ | Добавил: shum
Просмотров: 1191 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020