#include<cstdio> #include<cstring> #include<iostream> #define N 101 using namespace std; bool map[N][N]; int n,m; int main(void) { int t; cin>>t; while(t--) { memset(map,false,sizeof(map)); int num = 0; cin>>n>>m; int flag = n/2; for(int i=1;i<=m;++i) { int a,b; scanf("%d %d",&a,&b); map[a][b] = true; } for(int k=1;k<=n;++k) for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) if((map[i][k]&&map[k][j])||map[i][j]) map[i][j] = true; int tmp; for(int i=1;i<=n;++i) { tmp = 0; for(int j=1;j<=n;++j) if(map[j][i]) ++tmp; if(tmp>flag) ++num; } for(int i=1;i<=n;++i) { tmp = 0; for(int j=1;j<=n;++j) if(map[i][j]) ++tmp; if(tmp>flag) ++num; } cout<<num<<endl; } return 0; } |
Double click to view unformatted code.