读书人

hdu1285确定赛事名次

发布时间: 2012-08-09 15:59:21 作者: rapoo

hdu1285确定比赛名次

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1285

题目

确定比赛名次

Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 35 Accepted Submission(s) : 14Problem DescriptionInputOutputSample InputSample Output#include<stdio.h>#include<string.h>int map[505][505];//map[i][j]表示i赢j是否是真的int s[505]; //s[i]表示队伍i输掉的次数int main(){//freopen("in.txt","r",stdin);int n,m,i,j,x,y;while(scanf("%d%d",&n,&m)!=EOF){memset(s,0,sizeof(s));memset(map,0,sizeof(map));for(i=1;i<=m;i++){scanf("%d%d",&x,&y);if(!map[x][y]) //一定小心!!!判断有没有输入过{map[x][y]=1; s[y]++;}}x=0;while(x<n)//n次循环 要把n个点都输出{if(x)printf(" ");for(i=1;i<=n;i++) //寻找入度为0且编号小的点{if(s[i]==0){printf("%d",i);s[i]=-1; //下次不会再访问break;}}for(j=1;j<=n;j++)if(map[i][j]==1) //把与i相关的边全删掉s[j]--;x++;}printf("\n");}return 0;}



读书人网 >编程

热点推荐