乱搞题...第一直觉是混合图的欧拉通路,但是感觉并没有多大关系。最终AC的做法是不断的寻找欧拉通路,然后给边标号。所有边访问了一遍,所有点访问了一遍,效率是o(n+m)。不存在-1的情况。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std; const int maxn=;
int n,m;
struct Edge
{
int from,to;
int ans;
int flag;
} edge[*maxn+];
vector<int> G[maxn+];
int tot[maxn+];
int Ru[maxn+];
int Ch[maxn+];
int St[maxn+]; void dfs(int now,int x)
{
for(int i=St[now]; i<G[now].size(); i++)
{
Edge &e=edge[G[now][i]];
if(!e.flag)//这条边没走过
{
St[now]=i+;
if(x==)
{
if(e.from==now)
{
e.ans=;
e.flag=;
tot[e.from]--;
tot[e.to]--;
Ch[e.from]++;
Ru[e.to]++;
dfs(e.to,x);
return; }
else if(e.to==now)
{
e.ans=;
e.flag=;
tot[e.from]--;
tot[e.to]--;
Ch[e.to]++;
Ru[e.from]++;
dfs(e.from,x);
return;
}
}
else if(x==)
{
if(e.to==now)
{
e.ans=;
e.flag=;
tot[e.from]--;
tot[e.to]--;
Ru[e.to]++;
Ch[e.from]++;
dfs(e.from,x);
return;
}
else if(e.from==now)
{
e.ans=;
e.flag=;
tot[e.from]--;
tot[e.to]--;
Ru[e.from]++;
Ch[e.to]++;
dfs(e.to,x);
return;
}
}
}
}
}
int main()
{
int T;
scanf("%d",&T);
for(int y=; y<=T; y++)
{
scanf("%d%d",&n,&m);
for(int i=; i<=n; i++) G[i].clear();
memset(tot,,sizeof(tot));
memset(Ru,,sizeof(Ru));
memset(Ch,,sizeof(Ch));
memset(St,,sizeof(St));
for(int i=; i<=m; i++)
{
scanf("%d%d",&edge[i].from,&edge[i].to);
if(edge[i].from==edge[i].to)
{
edge[i].ans=;
continue;
}
edge[i].flag=;
G[edge[i].from].push_back(i);
G[edge[i].to].push_back(i);
tot[edge[i].from]++;
tot[edge[i].to]++;
}
for(int i=; i<=n; i++)
{
while(tot[i])
{
if(Ru[i]>=Ch[i]) dfs(i,);
else dfs(i,);
}
}
for(int i=; i<=m; i++)
printf("%d\n",edge[i].ans);
}
return ;
}

HDU 5348 MZL's endless loop的更多相关文章

  1. Hdu 5348 MZL's endless loop (dfs)

    题目链接: Hdu 5348 MZL's endless loop 题目描述: 给出一个无向图(有环,有重边),包含n个顶点,m条边,问能否给m条边指定方向,使每个顶点都满足abs(出度-入度)< ...

  2. 2015 Multi-University Training Contest 5 hdu 5348 MZL's endless loop

    MZL's endless loop Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  3. HDU 5348 MZL's endless loop(DFS去奇数度点+欧拉回路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5348 题目大意:给你一张图,有n个点,和m条无向边,让你把m条无向边变成有向边,使得每个节点的|出度- ...

  4. HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)

    题意: 给一个所有你可能想得到的奇葩无向图,要求给每条边定向,使得每个点的入度与出度之差不超过1.输出1表示定向往右,输出0表示定向往左. 思路: 网络流也是可以解决的!!应该挺简单理解的.但是由于复 ...

  5. 图论 HDOJ 5348 MZL's endless loop

    题目传送门 /* 题意:给一个n个点,m条边的无向图,要求给m条边定方向,使得每个定点的出入度之差的绝对值小于等于1. 输出任意一种结果 图论:一个图,必定存在偶数个奇度顶点.那么从一个奇度定点深搜, ...

  6. 2015多校.MZL's endless loop(欧拉回路的机智应用 || 构造)

    MZL's endless loop Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  7. hdu5348 MZL's endless loop(欧拉回路)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud MZL's endless loop Time Limit: 3000/1500 ...

  8. hdu 5348 MZL&#39;s endless loop

    给一个无向图(事实上是有向的.可是没有指定边的方向),你须要指定边的方向,使得每一个点入度和出度相差不超过1. 事实上就是找很多条路径.合起来能走完这个图..先统计各个顶点的度.度为奇数必是起点或终点 ...

  9. [2015hdu多校联赛补题]hdu5348 MZL's endless loop

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5348 题意:给你一个无向图,要你将无向图的边变成有向边,使得得到的图,出度和入度差的绝对值小于等于1, ...

随机推荐

  1. many bugs report when test bcm bt/wifi chip

    after change aerial  , many bugs diappear .

  2. HDU 1847 Good Luck in CET-4 Everybody! 博弈

    题目思路: 写出SG函数(1表示先手胜,0表示先手负) 110110110110-- 发现n%3==0时,Cici胜 #include<stdio.h> #include<strin ...

  3. JAVA中String(字符串)课堂总结

    一:Java编译器中关于字符串自动优化 例子一: 源代码: public class StringPool { public static void main(String args[]) { Str ...

  4. PHPMailer实现PHP邮件发送

    1.首先是下载PHPMailer http://code.google.com/a/apache-extras.org/p/phpmailer/ 2.解压 从中取出class.phpmailer.ph ...

  5. 基于HTML5 的WebSql本地设备数据库

    HTML5 的 Web SQL Database 用本地和会话存储实现简单的对象持久化,对繁琐的关系数据进行处理. 在 W3C 的 Web SQL Database 规范中(参照 介绍)有这样的描述: ...

  6. Oracle杀死死锁进程

    查杀系统死锁的sql,最近想改造成存储过程,如下: CREATE OR REPLACE PROCEDURE HERO_KILLLOCKSESSION (OUT_COUNT OUT NUMBER, OU ...

  7. zoj 2770 Burn the Linked Camp

    今天刚刚学差分约束系统.利用最短路求解不等式.世界真的好奇妙!感觉不等式漏下几个会导致WA!! #include<cstdio> #include<cstring> #incl ...

  8. L2-007. 家庭房产

    L2-007. 家庭房产 题目链接:https://www.patest.cn/contests/gplt/L2-007 并查集 初学,看这题的时候完全没有什么好的想法,参考了@yinzm的blog用 ...

  9. Spring的Bean之Bean的基本概念[转]

    从前面我们知道Spring其实就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.对于Spring容器能够生产那些产品,则取决于配置文件中配置. 对于我们而言,我们使用Spring框架 ...

  10. javascript基础(六)对象

    原文http://pij.robinqu.me/ JavaScript Objects 创建对象 对象直接量 var o = { foo : "bar" } 构造函数 var o ...