c++ 8pts求调
  • 板块P2802 回家
  • 楼主DaoXiang007
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/10/11 21:29
  • 上次更新2023/11/2 14:23:59
查看原帖
c++ 8pts求调
981728
DaoXiang007楼主2023/10/11 21:29

我真的服了 cout−1cout-1骗44 DFSDFS就8分

#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 233;
char a[N][N];
int b=6;
int ghy = 0;
int n,m;
void dfs(int x,int y){
	if(x<n||y<m||x>n||y>m){
		return ;
	}
	if(a[x][y]=='1'){
		a[x][y]='0';
		dfs(x+1,y);
		dfs(x-1,y);
		dfs(x,y+1);
		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]=='2'){
				dfs(i,j);
				b--;
				ghy++;
			}
			if(a[i][j]=='4'){
				b++;
			}
			
		}
	}
	if(ghy<=b){
		cout<<ghy<<endl;
	}
	else{
		cout<<-1<<endl;
	}
	return 0;
} 
2023/10/11 21:29
加载中...