HDU 1285 确定比赛名次

来源:互联网 发布:linux grep命令 递归 编辑:程序博客网 时间:2024/05/21 00:56

#include <cstdio>int main() {int n, m, x, y;while (scanf("%d%d", &n, &m) != EOF) {int arr[505][505] = {0}, indegree[505] = {0};for (int i = 0; i < m; i++) {scanf("%d%d", &x, &y);if (arr[x][y] == 0) {  //避免 A 队伍输给 B 队伍多次所以引发的排序出错arr[x][y] = 1;indegree[y]++;}}for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++)if (indegree[j] == 0) { //寻找输了 0 场比赛的队伍,他就是排在队列的头indegree[j]--;printf(i == n ? "%d\n" : "%d ", j);for (int k = 1; k <= n; k++)if (arr[j][k] == 1) //寻找除了输给排在排在的头,输了 0 场比赛的队伍他就是跟在头后面的那个indegree[k]--;break;}}return 0;}


0 0
原创粉丝点击