Submission #202874

#TimeUsernameProblemLanguageResultExecution timeMemory
202874alradEmacs (COCI20_emacs)C++17
50 / 50
5 ms504 KiB
#include <bits/stdc++.h> using namespace std; const int N = 100 + 2; int n , m; vector<vector<char> > f(N , vector<char>(N)); vector<vector<bool> > used(N , vector<bool>(N , false)); bool ok(int x , int y) { return (0 <= x && x < n && 0 <= y && y < m && !used[x][y] && f[x][y] == '*'); } void dfs(int x , int y) { used[x][y] = true; if (ok(x + 1 , y)) { dfs(x + 1 , y); } if (ok(x - 1 , y)) { dfs(x - 1 , y); } if (ok(x , y + 1)) { dfs(x , y + 1); } if (ok(x , y - 1)) { dfs(x , y - 1); } } int main() { ios_base :: sync_with_stdio(0); cin.tie(0) , cout.tie(0); cin >> n >> m; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> f[i][j]; } } int ans = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (f[i][j] == '*' && !used[i][j]) { ans++; dfs(i , j); } } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...