Submission #862404

#TimeUsernameProblemLanguageResultExecution timeMemory
862404IrateCollecting Mushrooms (NOI18_collectmushrooms)C++14
9 / 100
3 ms1628 KiB
#include<bits/stdc++.h>
using namespace std;
const int mxN = 500 + 5;
char grid[mxN][mxN];
int cnt[mxN][mxN];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, m, d, k;
    cin >> n >> m >> d >> k;
    for(int i = 0;i < n;++i){
        for(int j = 0;j < m;++j){
            cin >> grid[i][j];
            if(grid[i][j] == 'S'){
                int x = max(i - d, 0);
                int y = max(j - d, 0);
                int x_end = min(i + d, n - 1);
                int y_end = min(j + d, m - 1);
                for(int i = x;i <= x_end;++i){
                    cnt[i][y] = 1;
                    cnt[i][y_end + 1] = -1;
                }
            }
        }
    }
    int res = 0;
    for(int i = 0;i < n;++i){
        int sum = 0;
        for(int j = 0;j < m;++j){
            sum += cnt[i][j];
            if(grid[i][j] == 'M' && sum >= k){
                res++;
            }
        }
    }
    cout << res;
}
#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...