蓝桥杯4题

在这里插入图片描述

#include <algorithm>
#include <string.h>
#include <iostream>
#include <stdio.h>

using namespace std;

int N = 6;
int ans = 0;
int que[7][7];
int dis[4][2] = {0,1,1,0,0,-1,-1,0};

void dfs(int x,int y)
{
	if(x == 0 || y == 0 || x == N || y == N)
	{
		ans++;
		return;
	}
	for(int i = 0 ; i < 4 ; i++)
	{
		int tx = x + dis[i][0];
		int ty = y + dis[i][1];
		if(que[tx][ty])  continue;
		que[tx][ty] = 1;
		que[N-tx][N-ty] = 1;
		dfs(tx,ty);
		que[tx][ty] = 0;
		que[N-tx][N-ty] = 0;
	}
}
int main()
{
	que[N/2][N/2] = 1;
	dfs(N/2,N/2);
	printf("%d\n",ans/4);
	return 0;
} 
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页