本文共 604 字,大约阅读时间需要 2 分钟。
【问题描述】
从一个5x5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的 路线有多少种? • 总长度不超过12; • 最后回到左上角; • 路线不自交; • 不走出5x5 的方格矩阵范围之外。#includeusing namespace std;int vis[6][6];int dx[4]={ 0,1,0,-1};int dy[4]={ 1,0,-1,0};int cnt = 0;void dfs(int i,int j,int d){ if(d>12) return; if(i==0&&j==0) { cnt++; return; } vis[i][j]=1; for(int k=0;k<4;k++) { int ni = i+dx[k]; int nj = j+dy[k]; if(ni<0||ni>5||nj<0||nj>5||vis[ni][nj]==1) continue; dfs(ni,nj,d+1); } //回溯 vis[i][j]=0;}int main(){ dfs(0,1,1); dfs(1,0,1); cout<
转载地址:http://xgxgz.baihongyu.com/