제출 #93491

#제출 시각아이디문제언어결과실행 시간메모리
93491jwkCollecting Mushrooms (NOI18_collectmushrooms)C++17
0 / 100
15 ms10124 KiB
#include <bits/stdc++.h> #define pb push_back #define mp make_pair using namespace std; vector< pair<int, int> > sprinklers; vector< pair<int, int> > mushrooms; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int R, C, D, K; cin >> R >> C >> D >> K; int grid[R][C]; for(int i = 0; i < R; i++) { for(int j = 0; j < C; j++) { grid[i][j] = 0; } } for(int i = 0; i < R; i++) { string s; cin >> s; for(int j = 0; j < C; j++) { if(s.at(j) == 'S') { sprinklers.pb(mp(i, j)); } else if(s.at(j) == 'M') { mushrooms.pb(mp(i, j)); } } } for(int i = 0; i < (signed)sprinklers.size(); i++) { int r = sprinklers[i].first; int c = sprinklers[i].second; for(int j = max(0, r - D); j <= min(R, r + D); j++) { for(int k = max(0, c - D); k <= min(C, c + D); k++) { grid[j][k]++; //cout << j << " " << k << endl; } } } int ok = 0; for(int i = 0; i < (signed)mushrooms.size(); i++) { if(grid[mushrooms[i].first][mushrooms[i].second] >= K) { //cout << mushrooms[i].first << " " << mushrooms[i].second << " " << grid[mushrooms[i].first][mushrooms[i].second] << endl; ok++; } } cout << ok << 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...