1
#include<stdio.h>
2
#include<string.h>
3
int nd[16][16];
4
int hash[16];
5
int max;
6
int n;
7
void 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
}
25
int 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
混沌的云 阅读(116)
评论(0) 编辑 收藏 引用