题目链接:传送门

思路:

就是简单的找欧拉回路,不过要注意dfs边时要将边的编号/2,不然会分不清那条边每被遍历。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 1e5+;
int head[maxn],vis[maxn],ver[maxn],next[maxn],id[maxn],tot;
int ans[maxn],tt,du[maxn];
int MAX(int x,int y)
{
return x>y?x:y;
}
void Init()
{
memset(vis,,sizeof(vis));
memset(head,,sizeof(head));
memset(du,,sizeof(du));
tot=;tt=;
}
void addedge(int u,int v,int w)
{
ver[++tot]=v;next[tot]=head[u];id[tot]=w;head[u]=tot;
}
void dfs(int u)
{
for(int i=head[u];i;i=next[i]){
int v=ver[i];
if(!vis[(i+)>>]){
vis[(i+)>>]=;
dfs(v);
ans[++tt]=id[i];
}
}
}
int main(void)
{
int n,m,x,y,z,i,j,ss;
while(scanf("%d%d",&x,&y)&&(x+y)){
Init();
scanf("%d",&z);
du[x]++;du[y]++;
ss=x<y?x:y;
n=MAX(x,y);m=;
addedge(x,y,z);addedge(y,x,z);
while(scanf("%d%d",&x,&y)&&(x+y)){
scanf("%d",&z);
n=MAX(n,MAX(x,y));m++;
du[x]++;du[y]++;
addedge(x,y,z);addedge(y,x,z);
}
int fg=;
for(i=;i<=n;i++)
if(du[i]%){
fg=;break;
} if(fg==) printf("Round trip does not exist.\n");
else{
dfs(ss);
if(m!=tt) printf("Round trip does not exist.\n");
else{
for(i=tt;i>=;i--) printf("%d ",ans[i]);
printf("%d\n",ans[]);
}
}
}
return ;
}

LOJ-10109(欧拉回路)的更多相关文章

  1. 【LOJ#2162】【POI2011】Garbage(欧拉回路)

    [LOJ#2162][POI2011]Garbage(欧拉回路) 题面 LOJ 题解 首先有一个比较显然的结论,对于不需要修改颜色的边可以直接删掉,对于需要修改的边保留.说白点就是每条边要被访问的次数 ...

  2. loj题目总览

    --DavidJing提供技术支持 现将今年7月份之前必须刷完的题目列举 完成度[23/34] [178/250] 第 1 章 贪心算法 √ [11/11] #10000 「一本通 1.1 例 1」活 ...

  3. [POI2011]Garbage 欧拉回路

    [POI2011]Garbage 链接 https://www.lydsy.com/JudgeOnline/problem.php?id=2278 https://loj.ac/problem/216 ...

  4. LOJ 一本通一句话题解系列:

    第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...

  5. ACM/ICPC 之 混合图的欧拉回路判定-网络流(POJ1637)

    //网络流判定混合图欧拉回路 //通过网络流使得各点的出入度相同则possible,否则impossible //残留网络的权值为可改变方向的次数,即n个双向边则有n次 //Time:157Ms Me ...

  6. [poj2337]求字典序最小欧拉回路

    注意:找出一条欧拉回路,与判定这个图能不能一笔联通...是不同的概念 c++奇怪的编译规则...生不如死啊... string怎么用啊...cincout来救? 可以直接.length()我也是长见识 ...

  7. ACM: FZU 2112 Tickets - 欧拉回路 - 并查集

     FZU 2112 Tickets Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u P ...

  8. UVA 10054 the necklace 欧拉回路

    有n个珠子,每颗珠子有左右两边两种颜色,颜色有1~50种,问你能不能把这些珠子按照相接的地方颜色相同串成一个环. 可以认为有50个点,用n条边它们相连,问你能不能找出包含所有边的欧拉回路 首先判断是否 ...

  9. POJ 1637 混合图的欧拉回路判定

    题意:一张混合图,判断是否存在欧拉回路. 分析参考: 混合图(既有有向边又有无向边的图)中欧拉环.欧拉路径的判定需要借助网络流! (1)欧拉环的判定:一开始当然是判断原图的基图是否连通,若不连通则一定 ...

  10. codeforces 723E (欧拉回路)

    Problem One-Way Reform 题目大意 给一张n个点,m条边的无向图,要求给每条边定一个方向,使得最多的点入度等于出度,要求输出方案. 解题分析 最多点的数量就是入度为偶数的点. 将入 ...

随机推荐

  1. Dashboard安装配置

    获取dashboard yaml文件 curl -O https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/ ...

  2. nginx stream module on mt7621(newifi3 d2) with openwrt 18.06.2

    因为需要使用nginx的stream模块,专门编译了一个nginx安装包,适用于openwrt 18.06.2版本,mt7621平台 顺便记录一下编译的笔记: 1.修改feeds/packages/n ...

  3. 工程启动没有报错,但是dubbo后台显示没有提供者,工程没有提供服务

    先说一下我遇到的问题:服务工程启动没有异常,消费者工程启动会出现很多nested(嵌套的)错误,但其根本错误是No provider available(缺少服务提供者).可是服务工程起来的时候明明没 ...

  4. mysql Table 'user' is marked as crashed and should be repaired

    myisamchk -f x:\xxxxxxxxx\MySQL\data\mysql\*.MYI

  5. 定义返回结果 Resultmodel

    web: checkPath: localhost:9099 success: 1 error: 0 package com.worker.config; import org.springframe ...

  6. javaMail实现收发邮件(四)

    JavaMail API中也提供了一些专门的类来对邮件的接收进行相关的操作,在介绍这些类之前,我们先来了解下邮件接收API的体系结构,JavaMai API中定义了一个java.mail.Store类 ...

  7. JAVA跨域CORS

    写了一个前端vue调用后端Java的接口,报“Access-Control-Allow-Origin”问题.

  8. koa中间件

    koa是Express的下一代基于node的web框架  目前有1.x和2.0两个版本 1. Express Express是第一代最流行的web框架  它对node.js的http进行了封装 Exp ...

  9. Boto3

    https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.htmlboto3 安装pip install bot ...

  10. angular $digest 运行10次货10次以上会抛出异常

    今天在做项目时,遇到一个问题,红圈处输入其他数字(n多次)也不会报异常,但是有一种特例,即0,1,0,1,0,1这种顺序输入时,输入第13次时,页面计算结果(蓝色圆圈)不会更新,困扰了1天多这个问题, ...