dfs解一道数学题
  • 板块学术版
  • 楼主tin_ingot
  • 当前回复17
  • 已保存回复17
  • 发布时间2022/3/13 20:24
  • 上次更新2023/10/28 06:38:59
查看原帖
dfs解一道数学题
553188
tin_ingot楼主2022/3/13 20:24

dfsdfs解一道数学题,咋没过呢?

题目大意:

一个484*8的地图,每次可以走到右上或右下,从左下角到右上角有多少种方案?

#include<bits/stdc++.h>
#define def_used 1
using namespace std;
int dx[2]={1,1},dy[2]={1,-1},ans,used[10][10];
void dfs(int x,int y)
{
	if(x==4&&y==8)
	{
		ans++;
		return ;
	}
	for(int i=0;i<2;i++)
	{
		int tx=x+dx[i],ty=y+dy[i];
		if(tx<1||tx>4||ty<1||ty>8) continue;
		if(used[tx][ty]&&def_used) continue;
		if(def_used) used[tx][ty]=1;
		dfs(tx,ty);
		if(def_used) used[tx][ty]=0;
	}
} 
int main()
{
	dfs(1,1);
	printf("%d",ans);
	return 0;
}
// 4*8
// 右上&右下 
// 左下->右上 
2022/3/13 20:24
加载中...