poj 3687 Labeling Balls 逆向拓扑

简介:

  要求输出每个球的重量,标号越小的重量越轻越好。

  逆向拓扑,从大向小查找入度为0的点,然后赋予最大的值,这样就可以保证小号重量轻了

  好久没敲代码了,完全不会敲了

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <queue>
#define INF 1E9
using namespace std;
int n,m;
int map[201][201],in[201];
int ans[201];
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        memset(map,0,sizeof(map));
        memset(in,0,sizeof(in));
        scanf("%d%d",&n,&m);
        int a,b,i;
        for(i=0;i<m;i++)
        {
            scanf("%d%d",&b,&a);
            if(map[a][b])continue;
            map[a][b]=1;
            in[b]++;
        }
        int Min=0,j,k=0;
        bool flag=1;
        for(i=n;i>=1;i--)
        {
            for(j=n;j>0,in[j]!=0;j--);
            if(j==0){flag=0;break;}
            for(int nn=1;nn<=n;nn++)
            {
                if(!map[j][nn])continue;
                in[nn]--;
            }
            in[j]=i;
            ans[i]=j;
        }
        if(!flag)printf("-1\n");
        else
        {
            printf("%d",in[1]);
            for(i=2;i<=n;i++)
             printf(" %d",in[i]);
            puts("");
        }
    }
}


目录
相关文章
|
8月前
|
Java
POJ- 2367- Genealogical tree【拓扑排序】
POJ- 2367- Genealogical tree【拓扑排序】
34 0
|
人工智能 算法 BI
LeetCode 周赛 341 场,模拟 / 树上差分 / Tarjan 离线 LCA / DFS
上周末有单双周赛,双周赛我们讲过了,单周赛那天早上有事没参加,后面做了虚拟竞赛,然后整个人就不好了。前 3 题非常简单,但第 4 题有点东西啊,差点就放弃了。最后,被折磨了一个下午和一个大夜总算把第 4 题做出来了,除了新学的 Tarjon 离线算法,这道题还涉及到树上差分、前缀和、DFS、图论等基础知识,几度被折磨得想要放弃。这种感觉,似乎和当年在 LeetCode 上做前 10 题的时候差不多哈哈。
94 0
进阶指南图论——闇の連鎖 I. 黑暗的锁链(树上差分+LCA)
进阶指南图论——闇の連鎖 I. 黑暗的锁链(树上差分+LCA)
193 0
POJ-1475,Pushing Boxes(双BFS)
POJ-1475,Pushing Boxes(双BFS)
[UVA1364 | POJ | NC]Knights of the Round Table | Tarjan 求点双 | 二分图 | 综合图论
我们可以很轻松地发现,被提出的都是在点双连通分量之外的,比如该图中的1 和 5 ,那么怎么判断哪些点不在环中呢? 此时我们还可以逆向思考,不 在 环 中 的 = = 总 的 − 在 环 中 的,所以说现在问题就转换成了满足条件的环内的点的个数
136 0
[UVA1364 | POJ | NC]Knights of the Round Table | Tarjan 求点双 | 二分图 | 综合图论