Submission #224779

#TimeUsernameProblemLanguageResultExecution timeMemory
224779NightlightCollecting Mushrooms (NOI18_collectmushrooms)C++14
38 / 100
57 ms7952 KiB
#include <bits/stdc++.h> #define pii pair<int, int> #define x first #define y second using namespace std; int R, C, D, K, P, ans; vector<vector<int>> pre; pii mus[500005]; char t; int getsum(int x,int y) { int y1 = min(y + D, C), y0 = max(y - D - 1, 0); int x1 = min(x + D, R), x0 = max(x - D - 1, 0); return pre[x1][y1] - pre[x1][y0] - pre[x0][y1] - pre[x0][y0]; } int main() { // freopen("inp", "r", stdin); scanf("%d %d %d %d", &R, &C, &D, &K); pre.resize(R + 5); pre[0].resize(C + 5); getchar(); for(int i = 1; i <= R; i++) { pre[i].resize(C + 5); for(int j = 1; j <= C; j++) { pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1]; cin >> t; if(t == 'M') { mus[++P] = {i, j}; }else if(t == 'S') { pre[i][j]++; } } } for(int i = 1; i <= P; i++) { if(getsum(mus[i].x, mus[i].y) >= K) ans++; } printf("%d\n", ans); }

Compilation message (stderr)

mushrooms.cpp: In function 'int main()':
mushrooms.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d %d %d", &R, &C, &D, &K);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...