这是一句没用的话。
#include <iostream>
using namespace std;
int a[1600][1600], b[100010];
int count(int x, int y, int cnt)
{
if (a[x][y] < 1) return 0;
int sum = 0;
if (a[x][y] == 1)
{
a[x][y] = -1;
sum++;
cnt++;
for (int i = -1; i < 2; i++)
for (int j = -1; j < 2; j++)
sum += count(x + i, y + j, cnt + 1);
}
return sum;
}
int main()
{
int n, m, tmp, cnt = 0, maxi = -1, maxn = -1;
cin >> n >> m;
char c;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
cin >> c;
if (c == '*') a[i][j] = 1;
}
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (a[i][j] == 1)
{
tmp = count(i, j, 0);
b[tmp]++;
if (maxi < tmp)
maxi = tmp;
}
for (int i = 1; i <= maxi; i++)
if (b[i])
{
cnt++;
if (b[maxn] * maxn < b[i] * i)
maxn = i;
}
cout << cnt << ' ' << b[maxn] * maxn;
return 0;
}
来个人帮帮忙呗