hdu 4324Triangle LOVE <拓扑排序>

链接 http://acm.hdu.edu.cn/showproblem.php?pid=4324

View Code
 1 #include <stdio.h>

 2 #include <stdlib.h>

 3 #include <string.h>

 4 #include <algorithm>

 5 using namespace std;

 6 char map[2500][2500];

 7 int in[2500];

 8 int main( )

 9 {

10     int T;

11     scanf("%d", &T );

12     for( int t=1; t<=T; ++t ){

13         printf( "Case #%d: ", t );

14         int N, flage=0; 

15         scanf( "%d", &N );

16         for( int i=0; i<N; ++ i ){

17             scanf( "%s", map[i] );

18             in[i]=0;

19         }

20             

21         for( int i=0; i<N; ++ i ){

22             

23             for( int j=0; j<N; ++ j ){

24                 if( map[i][j]=='1' ){

25                     in[j]++;

26                 }

27             }

28         }

29         for( int i=0, k; i<N; ++i ){

30             for(  k=0; k<N; ++k ){

31                 if( !in[k] )break;

32             }

33             if( k==N ){

34                 puts( "Yes" );

35                 flage=1;

36                 break;

37             }

38             else{

39             //    printf( "%d ", k );

40                 in[k]--;

41                 for( int j=0; j<N; ++j ){

42                     if( map[k][j]=='1'&&in[j] )

43                         in[j]--;

44                 }

45             }

46         }

47         if( !flage )puts( "No" );

48     } 

49     return 0;

50 }

你可能感兴趣的:(love)