#include <stdio.h>
char map[200][200]={};
int i,j,l=0;
void go(){
printf("\n");
for(int y=1;y<=j;y++){
for(int x=1;x<=i;x++){
printf(" %c",map[y][x]);
}
printf("\n");
}
}
void lake(int y,int x){
if(map[y][x]!='L')
return ;
map[y][x]='.';
lake(y+1,x);
lake(y-1,x);
lake(y,x+1);
lake(y,x-1);
lake(y+1,x+1);
lake(y-1,x-1);
lake(y+1,x-1);
lake(y-1,x+1);
}
int main(){
int x,y;
scanf("%d %d",&i,&j);
for(y=1;y<=j;y++){
for(x=1;x<=i;x++){
scanf(" %c",&map[y][x]);
}
}
for(y=1;y<=j;y++){
for(x=1;x<=i;x++){
if(map[y][x]=='L'){
l++;
//printf("%d",l);
lake(y,x);
}
}
}
printf("%d",l);
return 0;
}
top of page

기능을 테스트하려면 라이브 사이트로 이동하세요.
수정: 2023년 10월 14일
DFS 호수의 수 구하기
DFS 호수의 수 구하기
댓글 0개
좋아요
댓글(0)
bottom of page