Submission #1237589

#TimeUsernameProblemLanguageResultExecution timeMemory
1237589chikien2009Nautilus (BOI19_nautilus)C++20
100 / 100
129 ms544 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, m, k; char c; string s; bitset<500> a[500], b[500], base[500]; int main() { setup(); cin >> n >> m >> k; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cin >> c; a[i][j] = base[i][j] = (c == '.'); } } cin >> s; for (auto &i : s) { for (int j = 0; j < n; ++j) { b[j].reset(); if (i == 'E' || i == '?') { b[j] |= (a[j] << 1); } if (i == 'W' || i == '?') { b[j] |= (a[j] >> 1); } if ((i == 'N' || i == '?') && j + 1 < n) { b[j] |= a[j + 1]; } if ((i == 'S' || i == '?') && j - 1 >= 0) { b[j] |= a[j - 1]; } } for (int j = 0; j < n; ++j) { a[j] = b[j] & base[j]; } } k = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { k += a[i][j]; } } cout << k; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...