제출 #1021860

#제출 시각아이디문제언어결과실행 시간메모리
1021860basaNautilus (BOI19_nautilus)C++14
66 / 100
379 ms262144 KiB
#include <bits/stdc++.h> using namespace std; #define int long long string m; int r, c, k; string s[505]; bool vis[505][505][5005]; int dfs(int i, int j, int p){ if(i >= r || i < 0) return 0; if(j >= c || j < 0) return 0; if(s[i][j] == '#') return 0; if(vis[i][j][p]) return 0; vis[i][j][p] = 1; if(p == m.size()) return 1; int ret = 0; if(m[p] == 'N') ret = dfs(i - 1, j, p + 1); if(m[p] == 'S') ret = dfs(i + 1, j, p + 1); if(m[p] == 'E') ret = dfs(i, j + 1, p + 1); if(m[p] == 'W') ret = dfs(i, j - 1, p + 1); if(m[p] == '?'){ ret += dfs(i + 1, j, p + 1); ret += dfs(i - 1, j, p + 1); ret += dfs(i, j + 1, p + 1); ret += dfs(i, j - 1, p + 1); } return ret; } signed main() { cin.tie(0) -> sync_with_stdio(0); cin >> r >> c >> k; for(int i = 0; i < r; i++) cin >> s[i]; cin >> m; int ans = 0; for(int i = 0; i < r; i++){ for(int j = 0; j < c; j++){ if(s[i][j] == '#') continue; ans += dfs(i, j, 0); } } cout << ans; }

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

nautilus.cpp: In function 'long long int dfs(long long int, long long int, long long int)':
nautilus.cpp:18:8: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |   if(p == m.size()) return 1;
      |      ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...