//求水洼数
#include<stdio.h>
#include <stdlib.h>
#include<time.h>
int WaWa(int i,int j,int arr[6][6])
{
arr[i][j] = 1;
//Print(arr);
int h[9] = { -1,-1,-1,0,0,0,1,1,1 };
int l[9] = { -1,0,1,-1,0,1,-1,0,1 };
for (int n = 0; n < 9; n++)
{
if (i + h[n] >= 6 || j + l[n] >= 6 || i + h[n] < 0 || j + l[n] < 0)
{
continue;
}
else if (arr[i + h[n]][j + l[n]] == 0)
{
arr[i + h[n]][j + l[n]] = 1;
WaWa(i + h[n], j + l[n],arr);
}
}
}
int main()
{
srand(time(0));
int arr[6][6] = { 0 };
int flag = 0;
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
arr[i][j] = rand() % 2;
printf("%d ", arr[i][j]);
//scanf("%d", &arr[i][j]);
}
printf("\n");
}
printf("--------------------------------\n");
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
if (arr[i][j] == 0)
{
WaWa(i, j, arr);
flag++;
}
}
}
printf("The number of puddles is :%d\n",flag);
}
求水洼数(练习)
于 2022-10-28 21:42:42 首次发布