解题思路:
注意事项:
参考代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<utility>
#include<map>
using namespace std;
bool vis[35][35];
int n,m,res=0;
int road[2][2]={{0,1},{1,0}};
bool in(int tx,int ty){
return tx>=1&&tx<=n&&ty>=1&&ty<=m;
}
void dfs(int x,int y){
if(x==n&&y==m){
res++;
return;
}
vis[x][y]=true;
for(int i=0;i<=1;i++){
int tx=x+road[i][0];
int ty=y+road[i][1];
if(in(tx,ty)&&!vis[tx][ty]&&!(tx%2==0&&ty%2==0)){
dfs(tx,ty);
}
}
vis[x][y]=false;
}
int main(){
cin>>n>>m;
dfs(1,1);
cout<<res<<endl;
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:1026 |
C语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:694 |
printf基础练习2 (C语言代码)浏览:826 |
【计算直线的交点数】 (C语言代码)浏览:1501 |
The 3n + 1 problem (C语言代码)浏览:603 |
母牛的故事 (C语言代码)浏览:1045 |
有关字符,字符串的输入输出函数说明浏览:498 |
罗列完美数 (C语言代码)浏览:519 |
交换Easy (C语言代码)浏览:805 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:594 |