只对了两个点...
查看原帖
只对了两个点...
504403
VDLevUp楼主2021/12/15 14:54
#include<cstdio>
int cnt,m,n,book[35];
void dfs(int step,int pos){
	if(step>m){
		if(pos==1) cnt++;
		return;
	}
	if(book[pos]) return;
	book[pos]=1;
	if(pos==n) dfs(step+1,1),dfs(step+1,n-1);
	else if(pos==1) dfs(step+1,2),dfs(step+1,n);
	else dfs(step+1,pos-1),dfs(step+1,pos+1);
	book[pos]=0;
}
int main(){
	scanf("%d%d",&n,&m);
	dfs(1,1);
	printf("%d",cnt);
	return 0;
}

2021/12/15 14:54
加载中...