1#include<stdio.h>
2#include<string.h>
3int nd[16][16];
4int hash[16];
5int max;
6int n;
7void dfs(int x,int y,int k)
8{
9 int i;
10 if(max<y)
11 {
12 max=y;
13 }
14 for(i=0;i<n;i++)
15 {
16 if(hash[i]&&k<=nd[x][i])
17 {
18 hash[i]=0;
19 dfs(i,y+1,nd[x][i]);
20 hash[i]=1;
21 }
22 }
23 return;
24}
25int main()
26{
27 int i,j,k;
28 while(scanf("%d",&n)!=EOF)
29 {
30 for(i=0;i<n;i++)
31 {
32 for(j=0;j<n;j++)
33 {
34 scanf("%d",&nd[i][j]);
35 }
36 }
37 memset(hash,1,sizeof(hash));
38 hash[0]=0;
39 max=-1;
40 dfs(0,1,0);
41 printf("%d\n",max);
42 }
43}
44
45
posted on 2009-01-27 14:08
混沌的云 阅读(109)
评论(0) 编辑 收藏 引用