제출 #1311128

#제출 시각아이디문제언어결과실행 시간메모리
1311128aryanCollecting Mushrooms (NOI18_collectmushrooms)C++20
60 / 100
2094 ms4828 KiB
#include<bits/stdc++.h>
using namespace std;

using i64 = long long;


int main(){
        
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n,m,d,k;
    cin >> n >> m >> d >> k;
    vector<string> c(n);
    for(int i = 0;i < n;i++){
        cin >> c[i];
    }
    vector<vector<int>> a(n,vector<int>(m));
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++){
            if(c[i][j] == 'S'){
                a[i][j] = 1;
            }
        }
    } 

    int ans = 0;
    for(int i = 0;i < n;i++){
        for(int j = 0;j < m;j++){
            if(c[i][j] != 'M') continue;
            int ai = i - d;
            int aj = j - d;
            int tot = 0;
            for(int p1 = max(0,i - d);p1 <= min(n - 1,i + d);p1++){
                for(int p2 = max(0,j - d);p2 <= min(m - 1,j + d);p2++){
                    if(a[p1][p2] == 1){
                        tot ++;
                    }
                }
            }
            if(tot >= k){
                ans ++;
            }
        }
    }
    cout << ans << '\n';

    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...