제출 #733393

#제출 시각아이디문제언어결과실행 시간메모리
733393vjudge1Collecting Mushrooms (NOI18_collectmushrooms)C++17
60 / 100
2061 ms3208 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define ld long double #define ll long long #define S second #define F first using namespace __gnu_pbds; using namespace std; typedef tree<long long, null_type, less_equal<long long>, rb_tree_tag, tree_order_statistics_node_update> Tree; const ll INF = 9223372036854775807LL; const ll inf = 2147483647; const ll MAXN = 200010; const ll MOD = 1e9 + 7; const ld PI = acos(-1); const ll NROOT = 320; ll binpow(ll a, ll b) { ll res = 1; for (;b; b /= 2, a *= a, a %= MOD) if (b & 1) res *= a, res %= MOD; return res % MOD; } ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;} ll lcm(ll a, ll b) {return a * b / gcd(a, b);} ll invmod(ll a) {return binpow(a, MOD - 2);} int32_t main () { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, m, D, k; cin >> n >> m >> D >> k; vector<pair<int, int>> H, M; for (int i = 0; i < n; i ++) { for (int j = 0; j < m; j ++) { char c; cin >> c; if (c == 'M') H.push_back({i, j}); if (c == 'S') { M.push_back({i, j}); } } } /*for (auto [x, y] : H) { cout << x << " " << y << "\n"; } cout << "========\n"; for (auto [x, y] : M) { cout << x << " " << y << "\n"; } cout << "========\n";*/ vector<int> cnt(H.size()); for (int i = 0; i < H.size(); i ++) { for (int j = 0; j < M.size(); j ++) { if (abs(H[i].F - M[j].F) <= D && abs(H[i].S - M[j].S) <= D) cnt[i] ++; } } int ans = 0; for (int i = 0; i < H.size(); i ++) { if (cnt[i] >= k) ans ++; } cout << ans << "\n"; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

mushrooms.cpp: In function 'int32_t main()':
mushrooms.cpp:59:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |   for (int i = 0; i < H.size(); i ++) {
      |                   ~~^~~~~~~~~~
mushrooms.cpp:60:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for (int j = 0; j < M.size(); j ++) {
      |                     ~~^~~~~~~~~~
mushrooms.cpp:67:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |   for (int i = 0; i < H.size(); i ++) {
      |                   ~~^~~~~~~~~~
#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...