• ECNU2848(dfs)


    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 const int dx[]={0,0,1,-1};
     4 const int dy[]={1,-1,0,0};//走的方向
     5 char map[1005][100];
     6 int max,hang,lie;
     7 int fmax(int p,int q)
     8 {
     9 if(p>q)
    10 return p;
    11 else
    12 return q;
    13 }
    14 int dfs(int i,int j)
    15 {
    16 int ddx,ddy,k,tp;
    17 map[i][j]='.';
    18 tp=1;
    19 for(k=0;k<4;k++)
    20 {
    21 ddx=i+dx[k];
    22 ddy=j+dy[k];
    23 if(map[ddx][ddy]=='*')
    24 {
    25 tp=tp+dfs(ddx,ddy);
    26 }
    27 }
    28 return tp;
    29 }
    30 int main()
    31 {
    32 int i,j;
    33 while(scanf("%d%d",&lie,&hang)==2)
    34 {
    35 getchar();
    36 memset(map,'.',sizeof(map));//初始化该地图
    37 for(i=1;i<=hang;i++)
    38 {
    39 for(j=1;j<=lie;j++)
    40 scanf("%c",&map[i][j]);
    41 getchar();
    42 }
    43 max=0;
    44 for(i=1;i<=hang;i++)
    45 for(j=1;j<=lie;j++)
    46 {
    47 if(map[i][j]=='*')
    48 max=fmax(max,dfs(i,j));
    49 }
    50 printf("%d\n",max);
    51 }
    52 return 0;
    53 }

      

    keep moving...
  • 相关阅读:
    ajax优缺点
    关于测量专业软件使用感受及建议
    12.7
    12.6
    场景调研
    对搜狗输入法的看法及建议
    12.9
    12.8
    12.5站立会议
    12.4站立会议
  • 原文地址:https://www.cnblogs.com/xxx0624/p/2472764.html
Copyright © 2020-2023  润新知