有错误的地宫寻宝问题

//虽然有错误,但此程序可以看出多个递归式放在一起的情况
#include <iostream> using namespace std; static int count=0; int x,y; int m,n,k; int a[50][50]; int t=0; void dfs(int x,int y,int s,int t) { if(x>m || y>n || s>k) return; if((x=m && y==n-1&& s==k)||(x=m-1 && y==n&& s==k) ) {count ++; return;} if(a[x][y]>t) { dfs(x,y+1,s,t); dfs(x+1,y,s,t); dfs(x,y+1,s+1,a[x][y]); dfs(x+1,y,s+1,a[x][y]); } else { dfs(x,y+1,s,t); dfs(x+1,y,s,t); } } int main(){ cin>>m>>n>>k; for(int i=0;i<m;i++) for(int j=0;j<n;j++) { cin>>a[i][j]; } dfs(0,0,0,0); cout << count; }

 

posted on 2017-03-27 18:28  ewitt  阅读(162)  评论(0编辑  收藏  举报

导航