问题标题: 酷町堂:3596 又是象棋

0
0
已解决
汪艾辰
汪艾辰
高级光能
高级光能

题目链接: 酷町堂:3596

#include<bits/stdc++.h>
using namespace std;
int m,n,cnt;
bool vis[20][20];
int dir[8][2]={{-1,-2},{-2,-1},{-2,1},{1,-2}};
int dfs(int x,int y){
    //边界
    if(x==m&&y==n){
        return 1;
    }
    for(int i=0;i<4;i++){
        int nx=x+dir[i][0],ny=y+dir[i][1];
        if(nx>=1&&nx<=m&&ny>=1&&ny<=m&&!vis[nx][ny]){
            vis[nx][ny]=true;
            cnt+=dfs(nx,ny);
            //cout<<x<<" "<<y<<"\n";
            vis[nx][ny]=false;
        }
    }
}
int main(){
    cin>>m>>n;
    vis[0][0]=1;
    dfs(0,0);
    cout<<cnt;
    return 0;
}


0
已采纳
颜庆平
颜庆平
新手光能
新手光能

上面的自己想

 

 

 

 

还有return 0;

 

0
0
我要回答