1975.txt
来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 78 行
TXT
78 行
#include<stdio.h>
#include<string.h>
#define debug 0
#define NMAX 104
#define INF 1000
int a[NMAX][NMAX];
int b[NMAX][NMAX];
int f[NMAX][2];
int N,M;
main()
{
#if debug
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
int i,j,t;
int x,y,u,v,w;
int count;
int ano,bno;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&N,&M);
memset(a,0,(NMAX)*(NMAX)*sizeof(int));
memset(b,0,(NMAX)*(NMAX)*sizeof(int));
memset(f,-1,(NMAX)*2*sizeof(int));
for(i=0;i<M;i++)
{
scanf("%d%d",&x,&y);
a[x][y]=1;
b[y][x]=1;
}
for(u=1;u<=N;u++)
for(v=1;v<=N;v++)
for(w=1;w<=N;w++)
{
if(a[v][u]*a[u][w]==1)
{
a[v][w]=1;
}
if(b[v][u]*b[u][w]==1)
{
b[v][w]=1;
}
}
count=0;
for(i=1;i<=N;i++)
{
ano=0;bno=0;
for(j=1;j<=N;j++)
{
if(a[i][j]==1)
ano++;
if(b[i][j]==1)
bno++;
}
if(ano>=(N+1)/2||bno>=(N+1)/2)
count++;
}
printf("%d\n",count);
}
#if debug
fclose(stdin);
fclose(stdout);
#endif
return 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?