hdu 2614(dfs)

来源:互联网 发布:caffe fcn 语义分割 编辑:程序博客网 时间:2024/05/22 00:53

点击打开链接


题意:

小A喜欢挑战难题,给你一个n*n的矩阵 ,map[i][j],表示在做过第i题后去做j题,将花费map[i][j]的时间,每次他选择j题目花费时间>=i的花费时间。。


直接dfs过去。。。。


#include"stdio.h"#include"string.h"#define N 15int n;int ans;int map[N][N];int mark[N];//该做a题,a的时间为b,已经做了t题void dfs(int a,int b,int t){t++;mark[a]=1;if(t>ans)ans=t;if(t>=n)return ;int i;for(i=0;i<n;i++){if(map[a][i]>=b&&!mark[i])dfs(i,map[a][i],t);}mark[a]=0;return ;}int main(){int i,j;while(scanf("%d",&n)!=-1){ans=0;for(i=0;i<n;i++){for(j=0;j<n;j++)scanf("%d",&map[i][j]);}memset(mark,0,sizeof(mark));dfs(0,0,0);printf("%d\n",ans);}return 0;}


原创粉丝点击