반응형
#include<iostream>
using namespace std;
int n,m;
char arr[100][100] = {0,};
bool visited[100][100] = {0,};
int blue = 0, white = 0;
int cnt = 0;
int sol(int a, int b){
visited[a][b]=true;
cnt++;
int dx[4] = {0,0,1,-1};
int dy[4] = {1,-1,0,0};
char color = arr[a][b];
for(int i=0; i<4; i++){
int nx = a+dx[i];
int ny = b+dy[i];
if(nx<0 || nx>=n || ny<0 || ny>=m){
continue;
}
if(visited[nx][ny] || arr[nx][ny]!=color){
continue;
}
sol(nx,ny);
}
return 0;
}
int main(){
cin>>n>>m;
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
cin>>arr[i][j];
}
}
for(int i=0; i<n; i++){
for(int j=0; j<m; j++){
if(!visited[i][j]){
cnt = 0;
sol(i,j);
if(arr[i][j]=='W'){
white+=cnt*cnt;
}else{
blue+=cnt*cnt;
}
}
}
}
cout<<white<<" "<<blue;
return 0;
}
반응형
'코테' 카테고리의 다른 글
최대 공약수, 최소 공약수 (0) | 2021.12.27 |
---|---|
[백준 14226] 이모티콘 c++ (0) | 2021.12.25 |
[백준 2339] 석판자르기 c++ (0) | 2021.12.24 |
[백준 1300] k번째 수 c++ (0) | 2021.12.23 |
[백준 1062] 가르침 c++ (0) | 2021.12.23 |