河南省之6 Metric Matrice

 1 #include<stdio.h>
 2 
 3 int a[32][32];
 4 int m;
 5 
 6 int fun()
 7 {
 8     int i,j,k;
 9     for(i=0;i<m;i++)
10         if(a[i][i]!=0) return 1;
11 
12     for(i=0;i<m;i++)
13         for(j=0;j<m;j++)
14             if(i!=j)
15                 if(a[i][j]<=0) return 2;
16     
17     for(i=0;i<m;i++)
18         for(j=0;j<m;j++)
19             if(a[i][j]!=a[j][i])    return 3;
20 
21     for(i=0;i<m;i++)
22         for(j=0;j<m;j++)
23             for(k=0;k<m;k++)
24                 if(i!=j&&j!=k&&i!=k)
25                     if(a[i][j]+a[j][k]<a[i][k])
26             /*    if(a[i][j]+a[j][k]>=a[i][k])
27                     if(i==j||j==k||i==k) */return 4;
28 
29     return 0;
30 }
31 
32 int main()
33 {
34     int i,j,t;
35     scanf("%d",&t);
36     while(t--)
37     {
38         scanf("%d",&m);
39         for(i=0;i<m;i++)
40             for(j=0;j<m;j++)
41                 scanf("%d",&a[i][j]);
42             if(fun()) printf("%d\n",fun());
43             else
44                 printf("0\n");
45     }
46     return 0;
47 }

 

posted @ 2013-04-06 11:47  萧凡客  阅读(179)  评论(0编辑  收藏  举报