當前位置:編程學習大全網 - 編程軟體 - c語言編程:最大島嶼問題 A國是個島國,由若幹個小島組成。A國地圖如下所示:

c語言編程:最大島嶼問題 A國是個島國,由若幹個小島組成。A國地圖如下所示:

#include?<stdio.h>

char?map[100][100];

int?n,?m;

int?total,?maxArea,?area;

void?GetMap()

{

scanf("%d%d\n",?&n,?&m);

for?(int?i?=?0;?i?<?n;?++i)

{

for?(int?j?=?0;?j?<?m;?++j)

{

scanf("%c",?&map[i][j]);

}

getchar();

}

}

void?Search(int?x,?int?y)

{

if?(x?<?0?||?x?>=?n?||?y?<?0?||?y?>=?m?||?map[x][y]?==?'.')

{

return;

}

++area;

map[x][y]?=?'.';

Search(x?-?1,?y?-?1);

Search(x?-?1,?y);

Search(x?-?1,?y?+?1);

Search(x,?y?-?1);

Search(x,?y?+?1);

Search(x?+?1,?y?-?1);

Search(x?+?1,?y);

Search(x?+?1,?y?+?1);

}

void?GetResult()

{

for?(int?i?=?0;?i?<?n;?++i)

{

for?(int?j?=?0;?j?<?m;?++j)

{

if?(map[i][j]?==?'I')

{

++total;

area?=?0;

Search(i,?j);

if?(maxArea?<?area)

{

maxArea?=?area;

}

}

}

}

}

int?main()

{

GetMap();

GetResult();

printf("%d?%d\n",?total,?maxArea);

return?0;

}

  • 上一篇:如何用python turtle畫奧運五環
  • 下一篇:教學訓練機器人的編程成本核算
  • copyright 2024編程學習大全網