关于scanf
  • 板块灌水区
  • 楼主Aakw_Tea
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/31 08:40
  • 上次更新2023/12/31 10:45:06
查看原帖
关于scanf
1211960
Aakw_Tea楼主2023/12/31 08:40

不懂就问,p1451,代码如下:

#include <bits/stdc++.h>
using namespace std;
int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0},a[206][206],b[206][206],ans,n,m;
void pd(int x,int y){
	a[x][y]=0;
	for(int i=0;i<4;i++){
		x+=dx[i];
		y+=dy[i];
		if(x>=1&&x<=n&&y>=1&&y<=m&&a[x][y]!=0){
			pd(x,y);
		}
		x-=dx[i];
		y-=dy[i];
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			scanf("%1d",&a[i][j]); 
		}
	}	
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++){
			if(a[i][j]>0){
				pd(i,j);
				ans++;
			}
		}
	cout<<ans;
	return 0;
}

主函数输入里的scanf中的"%1d"我用的int,为什么把1去掉就错了.

2023/12/31 08:40
加载中...