Submission #732198

#TimeUsernameProblemLanguageResultExecution timeMemory
732198Koful123Emacs (COCI20_emacs)C++17
50 / 50
1 ms340 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define endl "\n" #define ff first #define ss second #define pb push_back #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() int dx[4] = {0,1,-0,-1}; int dy[4] = {-1,0,1,0}; void solve(){ int n,m,ans = 0; cin >> n >> m; vector<string> s(n); vector<vector<int>> vis(n,vector<int> (m)); for(int i = 0; i < n; i++){ cin >> s[i]; for(int j = 0; j < m; j++){ if(s[i][j] == '.'){ vis[i][j] = 1; } } } auto check = [&](int x,int y){ if(x < 0 || y < 0 || y >= m || x >= n) return false; return !vis[x][y]; }; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(vis[i][j]) continue; queue<pair<int,int>> q; ++ans; vis[i][j] = 1; q.push({i,j}); while(q.size()){ auto[x,y] = q.front(); q.pop(); for(int k = 0; k < 4; k++){ int cx = dx[k] + x,cy = dy[k] + y; if(check(cx,cy)){ vis[cx][cy] = 1; q.push({cx,cy}); } } } } } cout << ans << endl; } signed main(){ ios::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; while(t--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...