제출 #1329387

#제출 시각아이디문제언어결과실행 시간메모리
1329387lunarechoEmacs (COCI20_emacs)C++20
50 / 50
1 ms352 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define F first
#define S second

const int N = 105;
int n, m;
char grid[N][N];
bool vis[N][N];
int dx[] = {0, 0, -1, 1};
int dy[] = {1, -1, 0, 0};

void dfs(int i, int j) {
    vis[i][j] = true;
    for(int k=0;k<4;++k) {
        int x = dx[k] + i, y = dy[k]  + j;
        if(x >= 0 && x < n && y >= 0 && y < m && !vis[x][y] && grid[x][y] == '*') {
            dfs(x, y);
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin>>n>>m;
    for(int i=0;i<n;++i) {
        for(int j=0;j<m;++j) {
            cin>>grid[i][j];
        }
    }
    int ans = 0;
    for(int i=0;i<n;++i) {
        for(int j=0;j<m;++j) {
            if(grid[i][j] == '*' && !vis[i][j]) {
                dfs(i, j);
                ++ans;
            }  
        }
    }
    cout<<ans<<'\n';
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...