您的位置:首页 > 其它

360在线笔试题:挑选镇长

2015-08-11 22:20 239 查看
题目的描述如下所示:



输入输出要求如下:



#include <stdio.h>

#include <stdlib.h>

struct GX

{

int num1;//renshi ta de ren;

int num2;//ta renshi de ren;

};

int main(void)

{

int T;

int n,m;

int** guanxi;

int i;

int numOfZZ = 0;

struct GX *gx;

scanf("%d",&T);

while(T--)

{

scanf("%d%d",&n,&m);

guanxi = (int**)malloc(sizeof(int*)*m);

for (i = 0; i < m; i++)

guanxi[i] = (int*)malloc(sizeof(int)*2);

for (i = 0; i < m; i++)

{

scanf("%d%d",&guanxi[i][0],&guanxi[i][1]);

}

gx = (struct GX*)malloc(sizeof(struct GX)*(n+1));

for (i = 1; i < n+1; i++)

{

gx[i].num1 = 0;

gx[i].num2 = 0;

}

for (i = 0; i < m; i++)

{

if (guanxi[i][0] != guanxi[i][1])

{

gx[guanxi[i][1]].num1++;

gx[guanxi[i][0]].num2++;

}

}

numOfZZ = 0;

for (i = 1; i <= n; i++)

{

//ta renshi de renshu wei 0;

//renshi ta de ren wei n-1;

//ta keyi shi zhenzhang;

if (gx[i].num2 == 0 && gx[i].num1 == n-1)

numOfZZ++;

}

printf("%d\n",numOfZZ);

for (i = 1; i <= n; i++)

{

if (gx[i].num2 == 0 && gx[i].num1 == n-1)

printf("%d\n",i);

}

if (numOfZZ == 0)

printf("\n");

free(gx);

for (i = 0; i < m; i++)

free(guanxi[i]);

free(guanxi);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: