谁能看一下哪错了 '/r'应该也特判了
#include<iostream>
#include<math.h>
#include<queue>
#include<string>
using namespace std;
string a[110];
bool vis[110][210];
int n;
int w;
int qx[2][4]={
{1,0,-1,0},
{0,1,0,-1}
};
void bfs(int tempx,int tempy)
{
queue<int> q_x;
queue<int> q_y;
q_x.push(tempx);
q_y.push(tempy);
vis[tempx][tempy]=true;
while(!q_x.empty())
{
// cout<<q_x.size()<<endl;
int x=q_x.front();
int y=q_y.front();
q_x.pop();
q_y.pop();
for(int i=0;i<4;i++)
{
if(!vis[x+qx[0][i]][y+qx[1][i]]/*未来过*/ && a[x+qx[0][i]][y+qx[1][i]]>='a' && a[x+qx[0][i]][y+qx[1][i]]<='z'/*是家庭*/
&& x+qx[0][i]>=0 && x+qx[0][i]<=n && y+qx[1][i]>=0 && y+qx[1][i]<=w /*未出界*/)
{
vis[x+qx[0][i]][y+qx[1][i]]=true;
q_x.push(x+qx[0][i]);
q_y.push(y+qx[1][i]);
}
}
}
}
int ans;
int main()
{
// freopen("family.in","r",stdin);
// freopen("family.out","w",stdout);
cin>>n;
getchar();
for(int i=0;i<n;i++)
{
getline(cin,a[i]);
// cin>>a[i];
if(w<=a[i].size()-1)
{
w=a[i].size()-1;
}
}
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<=w;j++)
// {
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
for(int i=0;i<n;i++)
{
for(int j=0;j<=w;j++)
{
if(!vis[i][j] && a[i][j]<='z' && a[i][j]>='a')
{
// vis[i][j]=1;
ans++;
bfs(i,j);
// for(int i=0;i<n;i++)
// {
// for(int j=0;j<=w;j++)
// {
// cout<<vis[i][j]<<" ";
// }
// cout<<endl;
// }
// cout<<endl;
}
}
}
cout<<ans;
}