View Code
1 /*
2 chun 练笔!!!
3 */
4 #include <iostream>
5 #include <cstring>
6 using namespace std;
7 int map[105][105] , f[105][105] ;
8 int main()
9 {
10 int t,n,m,a,b;
11 cin >> t;
12 while(t--)
13 {
14 cin >> n >> m;
15 memset(map,0,sizeof(map));
16 memset(f,0,sizeof(f));
17 for(int i=0;i<m;i++)
18 {
19 cin >> a >> b;
20 map[b][a] = 1; // 正向
21 f[a][b] = 1; // 反向
22 }
23 for(int k=1;k<=n;k++) // 99 ,flyod 检查是否相连...
24 {
25 for(int i=1;i<=n;i++)
26 {
27 for(int j=1;j<=n;j++)
28 {
29 if(map[i][k] && map[k][j])
30 map[i][j] = 1;
31 if(f[i][k] && f[k][j])
32 f[i][j] = 1;
33 }
34 }
35 }
36 int ans = 0;
37 for(int i=1;i<=n;i++)
38 {
39 int tem = 0,te = 0;
40 for(int j=1;j<=n;j++)
41 {
42 if(map[i][j])
43 tem++;
44 if(f[i][j])
45 te++;
46 }
47 if(tem >= (n + 1) / 2) ans++;
48 if(te >= (n + 1) / 2) ans++;
49 }
50 cout << ans << endl;
51 }
52 return 0;
53 }
 posted on 2011-04-27 16:02  eth0  阅读(138)  评论(0编辑  收藏  举报