Description

Hzwer神犇最近又征服了一个国家,然后接下来却也遇见了一个难题。 Hzwer的国家有n个点,m条边,而作为国王,他十分喜欢游览自己的国家。他一般 会从任意一个点出发,随便找边走,沿途欣赏路上的美景。但是我们的 Hzwer 是一个奇怪 的人,他不喜欢走到自己以前走过的地方,他的国家本来有p1条有向边,p2条无向边,由 于国王奇怪的爱好,他觉得整改所有无向边,使得他们变成有向边,要求整改完以后保证他 的国家不可能出现从某个地点出发顺着路走一圈又回来的情况。(注:m=p1+p2.) 概述:给你一张混合图,要求你为无向图定向,使得图上没有环。

Input

第一行3个整数 n,p1,p2,分别表示点数,有向边的数量,无向边的数量。 第二行起输入p1行,每行2个整数 a,b 表示a到b有一条有向边。 接下来输入p2行,每行2个整数 a,b 表示a和b中间有一条无向边。

Output

对于每条无向边,我们要求按输入顺序输出你定向的结果,也就是如果你输出a b, 那表示你将a和b中间的无向边定向为a->b。 注意,也许存在很多可行的解。你只要输出其中任意一个就好。

Range

对于20%的数据 n<=10 p1<=10 p2<=5 对于30%的数据 n<=10 p1<=30 p2<=20 对于100%的数据 n<=100000 p1<=100000 p2<=100000 数据保证至少有一种可行解。

Solution

通过题目可以知道这道题其实是求一个DAG上的边方向。我们先普及一下,一个图是DAG的充要条件是有一个完整的拓扑序。这道题因为保证有解,所以我们可以先对输入的有向边拓扑排序一下,然后输入无向边的时候让层次小的指向层次大的,这就构成了一个DAG。

Code

#include<queue>
#include<cstdio>
#include<cctype>
using namespace std;

queue<int> q;
];
];
];
int n,p1,p2,cnt,sum;

struct Edge{
    int to,nxt;
}edge[];

void add(int x,int y){
    edge[++cnt].to=y;
    edge[cnt].nxt=head[x];
    head[x]=cnt;
}

void topsort(){
    while(q.size()){
        int u=q.front();q.pop();
        ceng[u]=++sum;
        for(int i=head[u];i;i=edge[i].nxt){
            ru[edge[i].to]--;
            if(!ru[edge[i].to]) q.push(edge[i].to);
        }
    }
}

signed main(){
    scanf("%d%d%d",&n,&p1,&p2);
    ;i<=p1;i++){
        int x,y;
        scanf("%d%d",&x,&y);
        add(x,y);
        ru[y]++;
    }
    ;i<=n;i++){
        if(!ru[i])
            q.push(i);
    }
    topsort();
    ;i<=p2;i++){
        int x,y;
        scanf("%d%d",&x,&y);
        if(ceng[x]>ceng[y]) printf("%d %d\n",y,x);
        else printf("%d %d\n",x,y);
    }
    ;
}

[模拟赛] T2 混合图的更多相关文章

  1. 模拟赛T2 交换 解题报告

    模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...

  2. 【2019.8.12 慈溪模拟赛 T2】汪哥图(wang)(前缀和)

    森林 考虑到题目中给出条件两点间至多只有一条路径. 就可以发现,这是一个森林. 而森林有一个很有用的性质. 考虑对于一棵树,点数-边数=\(1\). 因此对于一个森林,点数-边数=连通块个数. 所以, ...

  3. 模拟赛T2 线段树优化建图+tarjan+拓扑排序

    然而这只是 70pts 的部分分,考场上没想到满分怎么做(现在也不会) code: #include <cstdio> #include <string> #include & ...

  4. 20161003 NOIP 模拟赛 T2 解题报告

    Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 ...

  5. NOIP欢乐模拟赛 T2 解题报告

    小澳的坐标系 (coordinate.cpp/c/pas) [题目描述] 小澳者表也,数学者景也,表动则景随矣. 小澳不喜欢数学,可数学却待小澳如初恋,小澳睡觉的时候也不放过. 小澳的梦境中出现了一个 ...

  6. 跳跳虎回家(国庆10.1模拟赛T2)

    题目: [题目描述] 跳跳虎在外面出去玩忘了时间,现在他需要在最短的时间内赶回家. 跳跳虎所在的世界可以抽象成一个含有 n 个点的图(点编号从 1 到 n ),跳跳虎现在在 1 号点,跳跳虎的家在 n ...

  7. 20181031noip模拟赛T2

    思路: 这道题是个图论抽象的题目…… 考场上想到了没写对…… 我们发现,f函数转移的方式有两种,要么是代价10的+1,要么是代价1的乘一个质因数 那么我们就可以将这个抽象为一张图 每个i向每个i+1连 ...

  8. 20181029NOIP模拟赛T2

    2.追捕 [题目背景] Duan2baka:“jmsyzsfq天下第一蠢!” jmsyzsfq:“你说什么?!” [题目描述] 于是Duan2baka开始了逃亡的旅程,而jmsyzsfq也开始追捕Du ...

  9. 【2019.8.11上午 慈溪模拟赛 T2】十七公斤重的文明(seventeen)(奇偶性讨论+动态规划)

    题意转化 考虑我们对于集合中每一个\(i\),若\(i-2,i+k\)存在,就向其连边. 那么,一个合法的集合就需要满足,不会存在环. 这样问题转化到了图上,就变得具体了许多,也就更容易考虑.求解了. ...

随机推荐

  1. hiredis的安装

    Hiredis客户端下载地址:https://github.com/antirez/hiredis/zipball/master Hiredis安装步骤: tar zxvf antirez-hired ...

  2. java中servletContextListener、httpSessionListener和servletRequestListener使用整理

    在java web应用中,listener监听器似乎是必不可少的,常常用来监听servletContext.httpSession.servletRequest等域对象的创建.销毁以及属性的变化等等, ...

  3. 项目总结2——mybatis配置的理解

    之前的项目基本上都是用mongodb,以至于mysql相关的知识异常薄弱,这次连续一个半月的加班,总算是实际用到了mysql,也使自己对mysql了解的更多,对mybatis了解的更多,这里就说一说经 ...

  4. IE浏览器因缓存问题未能成功向后端发送请求的几个解决办法

    这段时间前后端联调,解决IE.谷歌等浏览器兼容问题,真是让人有点焦头烂额,各种奇葩问题层出不穷,旧问题刚去,新麻烦又来,其中尤其以IE浏览器缓存的问题最多.有若干次都是因为这个缓存,使得前端的请求没有 ...

  5. Android WebView的缓存方式分析

    WebView的缓存可以分为(1)页面缓存和(2)数据缓存. 页面缓存是指当WebView加载一个网页时的html.JS.CSS等页面或者资源数据.这些缓存资源是由于浏览器的行为而产生,开发者只能通过 ...

  6. VxWorks启动流程

    镜像种类不同,VxWorks的启动过程会有所不同. 我们项目中使用的是加载型VxWorks镜像 函数 函数功能 所在文件 bootTask() (a)    通过createBootLineFromF ...

  7. 利用Eclipse中的Maven构建Web项目(二)

    利用Eclipse中的Maven构建Web项目 1.新建源文件夹,Java Resources鼠标右键,"New-->Source Folder" 2.新建src/main/ ...

  8. javaWeb之自动发送邮件生日祝福(ServletContextListener监听)

    在看完本随笔仍然不理解的可以看  javaWeb邮箱发送  :里面有具体的邮箱服务器配置 企业在员工生日当天发送邮箱生日祝福: 一般是用监听器完成:  而合适的监听是ServletContextLis ...

  9. 最小生成树 TOJ 4117 Happy tree friends

    链接http://acm.tju.edu.cn/toj/showp4117.html 4117.   Happy tree friends Time Limit: 1.0 Seconds   Memo ...

  10. [SDOI2008]沙拉公主的困惑

    题面 传送门 Sol 题目要求\(\sum_{i=1}^{n!}[gcd(i, m!)==1]\) 设\(N=n!,M=m!\),莫比乌斯反演一波 就变成了\(\sum_{d|M}\mu(d)\fra ...