Submission #649853

#TimeUsernameProblemLanguageResultExecution timeMemory
649853Ghosty_v2Collecting Mushrooms (NOI18_collectmushrooms)C++17
100 / 100
24 ms10672 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long int main() { ios_base::sync_with_stdio(false); cin.tie(0); int r,c,d,k; cin>>r>>c>>d>>k; vector<vector<int>> arr(r+1, vector<int>(c+1, 0)); vector<vector<int>> dp(r+1, vector<int>(c+1, 0)); for(int i=1;i<=r;i++) { for(int j=1;j<=c;j++) { char s; cin>>s; arr[i][j] = s; dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1]; if (s=='S') dp[i][j]++; } } int ans = 0; for(int i=1;i<=r;i++) { for(int j=1;j<=c;j++) { if (arr[i][j] != 'M') continue; int u = max(i-d,1); int v = max(j-d,1); int w = min(i+d,r); int x = min(j+d,c); int count = dp[w][x]-dp[u-1][x]-dp[w][v-1]+dp[u-1][v-1]; if (count>= k) ans++; } } cout<<ans<<endl; return 0; }
#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...