为毛在洛谷编译失败,我vs正确输出了,求助好心大佬
#include<bits/stdc++.h>
using namespace std;
int ans = 0; int matrix[100][100], vis[100][100] = { 0 };
int m, n;
int dx[4] = { 1,0,-1,0 };
int dy[4] = { 0,1,0,-1 };
struct xibao {
int x;
int y;
};
deque<xibao> q;
void bfs(int x, int y) {
vis[x][y] = 1;
xibao nq; nq.x = x; nq.y = y;
q.push_back(nq);
while (!q.empty()) {
xibao nnq1 = q.front();
for (int i = 0; i < 4; i++) {
xibao nnq=nnq1;
nnq.x+= dx[i];
nnq.y+= dy[i];
if (matrix[nnq.x][nnq.y] == 0 || vis[nnq.x][nnq.y] == 1)
continue;
q.push_back(nnq);
vis[nnq.x][nnq.y]=1;
}q.pop_front();
}
return;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
scanf_s("%1d", &matrix[i][j]);
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++) {
if (matrix[i][j] && vis[i][j] != 1)
{
bfs(i, j);
ans++;
}
}
cout << ans;
return 0;
}