Posted on 2009-07-06 15:56
Hero 阅读(125)
评论(0) 编辑 收藏 引用 所属分类:
代码如诗--ACM
1 //HLOJ 1043 Accepted 93 196 689 C++
2
3 #include <iostream>
4 using namespace std ;
5
6 int inn ;
7 int flag[20][20] ;
8 int ans = 0 ;
9 int visit[20] ;
10
11 void DFS( int line, int total )
12 {
13 if( line > inn ) { ans = ans > total ? ans : total ; }
14
15 for( int row=1; row<=inn; row++ )
16 {
17 if( visit[row] ) continue ;
18
19 visit[row] = 1 ;
20 DFS( line+1, total+flag[line][row] ) ;
21 visit[row] = 0 ;
22 }
23 }
24
25 int main()
26 {
27 while( cin >> inn )
28 {
29 memset( flag, 0, sizeof(flag) ) ;
30
31 for( int i=1; i<=inn; i++ )
32 {
33 for( int j=1; j<=inn; j++ )
34 {
35 cin >> flag[i][j] ;
36 }
37 }//input
38
39 ans = 0 ;
40 memset( visit, 0, sizeof( visit ) ) ;
41 DFS( 1, 0 ) ;
42
43 printf( "%d\n", ans ) ;
44 }
45 return 0 ;
46 }