Submission #496337

#TimeUsernameProblemLanguageResultExecution timeMemory
496337ZielNautilus (BOI19_nautilus)C++17
0 / 100
59 ms832 KiB
/** * LES GREATEABLES BRO TEAM **/ #include <bits/stdc++.h> using namespace std; using ll = long long; #define sz(x) (int)x.size() const bool FLAG = false; void setIO(const string &f = ""); #define int ll void solve() { int r, c, m; cin >> r >> c >> m; vector<vector<char>> a(r + 1, vector<char>(c + 1)); for (int i = 1; i <= r; i++) { for (int j = 1; j <= c; j++) { cin >> a[i][j]; } } string s; cin >> s; int ans = 0; auto in_frame = [r, c](int x, int y) -> bool { return x >= 1 && x <= r && y >= 1 && y <= c; }; set<pair<int, int>> st; for (int i = 1; i <= r; i++) { for (int j = 1; j <= c; j++) { int ci = i, cj = j; bool ok = true; for (int k = 0; k < m; k++) { if (s[k] == 'N') ci--; if (s[k] == 'S') ci++; if (s[k] == 'E') cj++; if (s[k] == 'W') cj--; if (in_frame(ci, cj) && a[ci][cj] == '.') continue; else { ok = false; break; } } if (!ok) continue; ci = i, cj = j; for (int k = 0; k < m; k++) { if (s[k] == 'N') ci--; if (s[k] == 'S') ci++; if (s[k] == 'E') cj++; if (s[k] == 'W') cj--; st.insert({ci, cj}); } } } cout << sz(st); } signed main() { setIO(); int tt = 1; if (FLAG) { cin >> tt; } while (tt--) { solve(); } return 0; } void setIO(const string &f) { ios_base::sync_with_stdio(false); cin.tie(nullptr); if (fopen((f + ".in").c_str(), "r")) { freopen((f + ".in").c_str(), "r", stdin); freopen((f + ".out").c_str(), "w", stdout); } }

Compilation message (stderr)

nautilus.cpp: In function 'void solve()':
nautilus.cpp:27:9: warning: unused variable 'ans' [-Wunused-variable]
   27 |     int ans = 0;
      |         ^~~
nautilus.cpp: In function 'void setIO(const string&)':
nautilus.cpp:82:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   82 |         freopen((f + ".in").c_str(), "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nautilus.cpp:83:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   83 |         freopen((f + ".out").c_str(), "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...