Submission #1173858

#TimeUsernameProblemLanguageResultExecution timeMemory
1173858ezzzayCollecting Mushrooms (NOI18_collectmushrooms)C++20
100 / 100
30 ms24248 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back const int N=3e5+5; signed main(){ int n,m,d,k; cin>>n>>m>>d>>k; vector<vector<char>> a(n+4, vector<char>(m+3)); vector<vector<int>> cnt(n+4, vector<int>(m+3)); vector<vector<int>> ps(n+4, vector<int>(m+3)); vector<vector<int>>vc; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; if(a[i][j]=='S'){ int y1=max(1,i-d); int y2=min(n,i+d); int x1=max(1,j-d); int x2=min(m,j+d); ps[y1][x1]++; ps[y1][x2+1]--; ps[y2+1][x1]--; ps[y2+1][x2+1]++; } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ ps[i][j]+=ps[i][j-1]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ ps[i][j]+=ps[i-1][j]; } } int p=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]=='M'){ int h=ps[i][j]; if(h>=k)p++; } } } cout<<p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...