Submission #639323

#TimeUsernameProblemLanguageResultExecution timeMemory
639323NotLinuxDijamant (COCI22_dijamant)C++14
0 / 70
1086 ms340 KiB
/** * author: NotLinux * created: 09.09.2022 ~ 14:09:50 **/ #include <bits/stdc++.h> using namespace std; #define int long long #ifdef LOCAL #include "/home/notlinux/debug.h" #else #define debug(x...) void(37) #endif int n,m; vector < string > grid; vector < vector < int > > vis1; int cnt = 1e12; int func(int x , int y){ set < int > ret; vis1.assign(n , vector < int > (m , 0LL)); queue < pair < int , pair < int , int > > > bfs; bfs.push({0,{x,y}}); while(bfs.size()){ int x = bfs.front().second.first; int y = bfs.front().second.second; int w = bfs.front().first; bfs.pop(); if(x<0 or x>=n or y<0 or y>=m){ ret.insert(cnt); cnt++; continue; } if(vis1[x][y])continue; vis1[x][y] = 1; if(grid[x][y]=='#'){ ret.insert(w); continue; } bfs.push({w+1,{x+1,y}}); bfs.push({w+1,{x-1,y}}); bfs.push({w+1,{x,y+1}}); bfs.push({w+1,{x,y-1}}); } return ((int)ret.size()); } void solve(){ cin >> n >> m; grid.resize(n); for(auto &inp : grid)cin >> inp; int ans = 0; for(int i = 0;i<n;i++)for(int j = 0;j<m;j++){ if(grid[i][j]=='#')continue; int cnt = func(i,j); ans += (cnt == 1); } cout << ans << endl; } int32_t main(){ ios_base::sync_with_stdio(0);cin.tie(nullptr); int tt=1; //cin >> tt; while(tt--)solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...