#include<iostream> #include<set> #include<queue> #include<vector> using namespace std; void dfs(vector<vector<int>> flag,int &sum,int x,int y) {     if(x>3||y>3)         return ;     if(x==3&&y==3)     {         sum++;         return;     }     if(!flag[x][y])     {         flag[x][y]=1;         dfs(flag,sum,x+1,y);         dfs(flag,sum,x+2,y);         dfs(flag,sum,x,y+2);         dfs(flag,sum,x+3,y);         dfs(flag,sum,x,y+3);         dfs(flag,sum,x,y+1);         flag[x][y]=0;     }       } int main() {     vector<vector<int>> flag(4,vector<int>(4,0));     int sum=0;     dfs(flag,sum,0,0);     cout<<sum<<endl;     return 0; } 跑出来是106 要考虑步长1-3
点赞 1

相关推荐

牛客网
牛客企业服务