盛大游戏游戏服务端C++笔试第二题岛屿个数题请教
在本机能成功运行,但为啥一直提交错误呢,下面代码有啥错误啊,请大佬指教
#include <iostream> #include <vector> using namespace std; int l[4] = { -1, 0, 1, 0 }; int r[4] = { 0, -1, 0, 1 }; void dfs(vector<vector<int>> &v, const int a, const int b) { v[a][b] = 0; for (int k = 0; k < 4; ++k) { int i = l[k] + a, j = r[k] + b; if (i >= 0 && i < v.size() && j >= 0 && j < v[0].size()) { if (v[i][j] == 1) dfs(v, i, j); } } } int main() { int n, m; cin >> n >> m; vector<vector<int>> v(n, vector<int>(m)); int val; for (int i = 0; i < n; ++i) for (int j = 0; j < m; ++j) cin >> v[i][j]; int count = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) if (v[i][j] == 1) { dfs(v, i, j); ++count; } } cout << count << endl; return 0; }