最大岛屿面积C++
#include<iostream>
using namespace std;
int f[100][20]; int mm = -12;
int dfs(int i, int j) {
if (f[i][j] == 1) {
f[i][j] = 0;int sum = 1;
if (i != 0 && f[i - 1][j])sum += dfs(i - 1, j);
if (i != 4 && f[i + 1][j])sum += dfs(i + 1, j);
if (j != 4 && f[i][j + 1])sum += dfs(i, j + 1);
if (j != 0 && f[i][j - 1])sum += dfs(i, j - 1);
mm = max(sum, mm);
return sum;
}
return 0;
}
int main()
{
for (int i = 0; i < 4 * 4; ++i)cin >> f[i / 4][i % 4];
for (int i = 0; i < 4; ++i)for (int j = 0; j < 4; ++j)
{
dfs(i, j);
}
cout << mm;
return 0;
}