输入输出也检查了 ..都对了啊还是过不去
by _int_me @ 2017-10-03 13:23:51
1、数组开那么大干嘛 浪费内存(并不是重点)
2、输入部分最好用cin,虽然时间复杂度略高,但是绝对比scanf靠谱(可能是重点)
附代码:
```cpp
#include<iostream>
using namespace std;
int n,m;
int ans;
char a[105][105];
void dfs(int x,int y)
{
if(x>n || x<1 || y>m || y<1 || a[x][y]=='0') return;
a[x][y]='0';
dfs(x+1,y);
dfs(x,y+1);
dfs(x-1,y);
dfs(x,y-1);
}
int main()
{
cin >> n >> m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) cin >> a[i][j];
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]!='0') ans++,dfs(i,j);
}
}
cout << ans;
return 0;
}
```
by VenusM1nT @ 2017-10-03 20:53:05
@[\_int\_me](/space/show?uid=42970)
by VenusM1nT @ 2017-10-03 20:59:26
恩谢谢dalao 我去改一下
by _int_me @ 2017-10-04 11:29:19