# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
540875 | 2022-03-21T22:09:06 Z | Olympia | Nautilus (BOI19_nautilus) | C++17 | 1000 ms | 2540 KB |
#include <cmath> #include <iostream> #include <set> #include <climits> #include <cstdio> #include <algorithm> #include <cassert> #include <string> #include <vector> #include <iomanip> #include <unordered_map> #include <type_traits> #include <bit> #include <bitset> #include <string> #include <queue> #define ll long long #include <map> using namespace std; vector<string> vec; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int R, C, M; cin >> R >> C >> M; vec.resize(R); for (int i = 0; i < R; i++) { cin >> vec[i]; assert(vec[i].size() == C); } string s; cin >> s; vector<bitset<10000>> orig(R); for (int i = 0; i < R; i++) { for (int j = 0; j < C; j++) { if (vec[i][j] == '.') { orig[i].set(j + 500); } } } vector<bitset<10000>> pos = orig; map<char, pair<int, int>> myMap; myMap['W'] = {0, -1}; myMap['E'] = {0, 1}; myMap['S'] = {1, 0}; myMap['N'] = {-1, 0}; for (int i = 0; i < s.length(); i++) { vector<bitset<10000>> dum(R); if (s[i] == '?' || s[i] == 'W') { for (int j = 0; j < R; j++) { dum[j] |= (pos[j] >> 1); } } if (s[i] == '?' || s[i] == 'E') { for (int j = 0; j < R; j++) { dum[j] |= (pos[j] << 1); } } if (s[i] == '?' || s[i] == 'N') { for (int j = 0; j < R - 1; j++) { dum[j] |= pos[j + 1]; } } if (s[i] == '?' || s[i] == 'S') { for (int j = 1; j < R; j++) { dum[j] |= pos[j - 1]; } } for (int j = 0; j < R; j++) { pos[j] = dum[j] & orig[j]; } } int ans = 0; for (int i = 0; i < R; i++) { ans += pos[i].count(); } cout << ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 596 KB | Output is correct |
2 | Correct | 6 ms | 724 KB | Output is correct |
3 | Correct | 6 ms | 720 KB | Output is correct |
4 | Correct | 5 ms | 712 KB | Output is correct |
5 | Correct | 5 ms | 712 KB | Output is correct |
6 | Correct | 5 ms | 716 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 596 KB | Output is correct |
2 | Correct | 6 ms | 724 KB | Output is correct |
3 | Correct | 6 ms | 720 KB | Output is correct |
4 | Correct | 5 ms | 712 KB | Output is correct |
5 | Correct | 5 ms | 712 KB | Output is correct |
6 | Correct | 5 ms | 716 KB | Output is correct |
7 | Correct | 7 ms | 596 KB | Output is correct |
8 | Correct | 7 ms | 596 KB | Output is correct |
9 | Correct | 8 ms | 596 KB | Output is correct |
10 | Correct | 8 ms | 596 KB | Output is correct |
11 | Correct | 9 ms | 712 KB | Output is correct |
12 | Correct | 9 ms | 712 KB | Output is correct |
13 | Correct | 10 ms | 596 KB | Output is correct |
14 | Correct | 10 ms | 724 KB | Output is correct |
15 | Correct | 9 ms | 596 KB | Output is correct |
16 | Correct | 9 ms | 596 KB | Output is correct |
17 | Correct | 12 ms | 596 KB | Output is correct |
18 | Correct | 12 ms | 716 KB | Output is correct |
19 | Correct | 12 ms | 596 KB | Output is correct |
20 | Correct | 15 ms | 712 KB | Output is correct |
21 | Correct | 11 ms | 712 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 596 KB | Output is correct |
2 | Correct | 6 ms | 724 KB | Output is correct |
3 | Correct | 6 ms | 720 KB | Output is correct |
4 | Correct | 5 ms | 712 KB | Output is correct |
5 | Correct | 5 ms | 712 KB | Output is correct |
6 | Correct | 5 ms | 716 KB | Output is correct |
7 | Correct | 7 ms | 596 KB | Output is correct |
8 | Correct | 7 ms | 596 KB | Output is correct |
9 | Correct | 8 ms | 596 KB | Output is correct |
10 | Correct | 8 ms | 596 KB | Output is correct |
11 | Correct | 9 ms | 712 KB | Output is correct |
12 | Correct | 9 ms | 712 KB | Output is correct |
13 | Correct | 10 ms | 596 KB | Output is correct |
14 | Correct | 10 ms | 724 KB | Output is correct |
15 | Correct | 9 ms | 596 KB | Output is correct |
16 | Correct | 9 ms | 596 KB | Output is correct |
17 | Correct | 12 ms | 596 KB | Output is correct |
18 | Correct | 12 ms | 716 KB | Output is correct |
19 | Correct | 12 ms | 596 KB | Output is correct |
20 | Correct | 15 ms | 712 KB | Output is correct |
21 | Correct | 11 ms | 712 KB | Output is correct |
22 | Execution timed out | 1087 ms | 2540 KB | Time limit exceeded |
23 | Halted | 0 ms | 0 KB | - |