Submission #1243844

#TimeUsernameProblemLanguageResultExecution timeMemory
1243844lebronCollecting Mushrooms (NOI18_collectmushrooms)C++20
60 / 100
2095 ms4696 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    int r, c, d, k;
    cin >> r >> c >> d >> k;

    vector<vector<char>> a(r, vector<char>(c));
    vector<vector<int>> num(r, vector<int>(c));

    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++) {
            cin >> a[i][j];
        }
    }

    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++) {
            if (a[i][j] == 'S') {
                for (int I = i - d; I <= i + d; I++) {
                    for (int J = j - d; J <= j + d; J++) {
                        if (I >= 0 && I < r && J >= 0 && J < c) {
                            if (a[I][J] == 'M') {
                                num[I][J] += 1;
                            }
                        }
                    }
                }
            }
        }
    }

    int ans = 0;

    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++) {
            if (num[i][j] >= k) {
                ans += 1;
            }
        }
    }

    cout << ans << '\n';
}
#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...