蒟蒻²因为这道题而崩溃
查看原帖
蒟蒻²因为这道题而崩溃
241838
microchip楼主2020/8/5 15:40

这是我dfs的其中一部分,另外还有3个与之类似的代码,只是方向改了。求大佬看看哪里错了

void dfs(int h,int z){
	if(h==m&&z==m){
		minn=min(minn,coin);
		return;
	}
	//往右一格 
	if(b[h][z+1]==now&&f[h][z+1]==0){
		f[h][z+1]==1;
		dfs(h,z+1);
		f[h][z+1]==0;
	}else if(b[h][z+1]!=now&&b[h][z+1]!=0&&f[h][z+1]==0){
		coin+=1;
		f[h][z+1]==1;
		dfs(h,z+1);
		f[h][z+1]==0;
		coin-=1;
	}else if(b[h][z+1]==0){
		//喷黄漆
		f[h][z+1]=2;
		coin+=2;
		if(f[h][z+1]!=2){
			coin++;
			dfs(h,z+1);
			coin--;
		}else{
			dfs(h,z+1);
		}
		f[h][z+1]=0;
		coin-=2;
		//喷红漆 
		f[h][z+1]=1;
		coin+=2;
		if(f[h][z+1]!=1){
			coin++;
			dfs(h,z+1);
			coin--;
		}else{
			dfs(h,z+1);
		}
		f[h][z+1]=0;
		coin-=2;
	}
2020/8/5 15:40
加载中...