#include <stdio.h>
#include <stdlib.h>
int a[100][100];
int vis[100][100];
int dx[] = {0, 0, 1, -1, 1, -1, 1, -1};
int dy[] = {1, -1, 0, 0, 1, 1, -1, -1};
void dfs(int i, int j, int n, int m) {
if(vis[i][j] || i >= n || j >= m || i < 0 || j < 0 || !a[i][j])
return;
vis[i][j] = 1;
for(int k = 0; k < 8; k++)
dfs(i + dx[k], j + dy[k], n, m);
}
int main()
{
int n, m;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
}
}
int res = 0;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
if(a[i][j])
{
if(!vis[i][j])
res++;
dfs(i, j, n, m);
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAppbnQgYVsxMDBdWzEwMF07CmludCB2aXNbMTAwXVsxMDBdOwppbnQgZHhbXSA9IHswLCAwLCAxLCAtMSwgMSwgLTEsIDEsIC0xfTsKaW50IGR5W10gPSB7MSwgLTEsIDAsIDAsIDEsIDEsIC0xLCAtMX07CiAKIAp2b2lkIGRmcyhpbnQgaSwgaW50IGosIGludCBuLCBpbnQgbSkgewogICAgaWYodmlzW2ldW2pdIHx8IGkgPj0gbiB8fCBqID49IG0gfHwgaSA8IDAgfHwgaiA8IDAgfHwgIWFbaV1bal0pCiAgICAgICAgcmV0dXJuOwogCiAgICB2aXNbaV1bal0gPSAxOwogICAgZm9yKGludCBrID0gMDsgayA8IDg7IGsrKykKICAgICAgICBkZnMoaSArIGR4W2tdLCBqICsgZHlba10sIG4sIG0pOwogCn0KaW50IG1haW4oKQp7CiAgICBpbnQgbiwgbTsKICAgIHNjYW5mKCIlZCVkIiwgJm4sICZtKTsKIAogICAgZm9yKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgIHsKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgbTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgc2NhbmYoIiVkIiwgJmFbaV1bal0pOwogICAgICAgIH0KICAgIH0KIAogICAgaW50IHJlcyA9IDA7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBtOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBpZihhW2ldW2pdKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZighdmlzW2ldW2pdKQogICAgICAgICAgICAgICAgICAgIHJlcysrOwogICAgICAgICAgICAgICAgZGZzKGksIGosIG4sIG0pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogCiAgICBwcmludGYoIiVkIiwgcmVzKTsKICAgIHJldHVybiAwOwp9