제출 #1173847

#제출 시각아이디문제언어결과실행 시간메모리
1173847ezzzayCollecting Mushrooms (NOI18_collectmushrooms)C++20
60 / 100
2094 ms16056 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+3, vector<char>(m+3)); vector<vector<int>> cnt(n+3, 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); vc.pb({y1,y2,x1,x2}); } } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]=='M'){ for(auto p:vc){ int y1=p[0],y2=p[1],x1=p[2],x2=p[3]; if(y1<=i and i<=y2 and x1<=j and j<=x2)cnt[i][j]++; } } } } int p=0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(cnt[i][j]>=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...