Submission #1237990

#TimeUsernameProblemLanguageResultExecution timeMemory
1237990meisean2009Collecting Mushrooms (NOI18_collectmushrooms)C++20
0 / 100
25 ms15536 KiB
#include <bits/stdc++.h> using namespace std; int r,c,d,k,ans=0; int main(){ //freopen("min.txt","r",stdin); cin>>r>>c>>d>>k; vector<vector<char> > mp(r+2,vector<char>(c+2,' ')); vector<vector<int> > a(r+2,vector<int>(c+2,0)); vector<vector<int> > pref(r+2,vector<int>(c+2,0)); for (int i=1;i<=r;i++){ for (int j=1;j<=c;j++){ cin>>mp[i][j]; if (mp[i][j]=='S'){ a[min(r+1,i+d+1)][(c+1,j+d+1)]++;//bottom right corner a[max(1,i-d)][max(1,j-d)]++; a[max(1,i-d)][min(c+1,j+d+1)]--; a[min(r+1,i+d+1)][max(1,j-d)]--; } } } for (int i=1;i<=r;i++){ for (int j=1;j<=c;j++){ pref[i][j] = a[i][j]+pref[i-1][j]+pref[i][j-1]-pref[i-1][j-1]; if (pref[i][j]==k&&mp[i][j]=='M'){ ans++; } } } cout<<ans; }
#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...