第八届蓝桥杯省赛C/C++B组 试题4:方格分割

2021/4/10 20:11:39

本文主要是介绍第八届蓝桥杯省赛C/C++B组 试题4:方格分割,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在这里插入图片描述
答案:509

#include <cstdio>

int ans = 0;
bool vis[10][10] = {false};
int X[4] = {1, -1, 0, 0};
int Y[4] = {0, 0, 1, -1};

void dfs(int x, int y){
	if(x<=0 || x>=6 || y<=0 || y>=6){
		ans++;
		return;	
	}
	for(int i=0; i<4; i++){
		int tempX = x + X[i];
		int tempY = y + Y[i];
		if(!vis[tempX][tempY]){
			vis[tempX][tempY] = vis[6-tempX][6-tempY] = true;
			dfs(tempX,tempY);
			vis[tempX][tempY] = vis[6-tempX][6-tempY] = false;
		}
	}
}

int main(){
	vis[3][3] = true;
	dfs(3,3);
	printf("%d", ans/4);
	
	return 0;
} 


这篇关于第八届蓝桥杯省赛C/C++B组 试题4:方格分割的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程