CF-1144F-Graph Without Long Directed Paths
题意:
给出一个无向联通图,要求你给出每条边的方向,使得无论从哪个点出发最多只能走一条边;
思路:
对于每个点,要么出度为0,要么入度为0即可。所以这就是一个判断二分图。
- 二分图
#include "cstdio"
#include "cstring"
#include "iostream"
#include "vector"
using namespace std;
typedef pair<int, int> PII;
const int MAXN = 2e5 + ;
int n, m;
PII edge[MAXN];
// v[i]记录和i点相连的点
vector<int> v[MAXN];
// 记录每个点的状态,-1表示未访问,0表示只有出度,1表示只有入度
int arr[MAXN];
bool ok = true;
void dfs(int n, int k) {
if (arr[n] != -) {
if (arr[n] != k) {
ok = false;
}
return;
}
arr[n] = k;
for (int i = ; i < v[n].size(); i++) {
dfs(v[n][i], !k);
}
}
int main() {
int a, b;
memset(arr, -, sizeof(arr));
scanf("%d%d", &n, &m);
for (int i = ; i <= m; i++) {
scanf("%d%d", &a, &b);
// 存边,但是其实后面不用b了,存下a点就够了
edge[i] = make_pair(a, b);
v[a].push_back(b);
v[b].push_back(a);
}
dfs(, );
if (ok) {
puts("YES");
for (int i = ; i <= m; i++) {
printf("%d", arr[edge[i].first]);
}
puts("");
} else {
puts("NO");
}
return ;
}
CF-1144F-Graph Without Long Directed Paths的更多相关文章
- Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)
<题目链接> 题目大意:给定一个无向图,该无向图不含自环,且无重边.现在要你将这个无向图定向,使得不存在任何一条路径长度大于等于2.然后根输入边的顺序,输出构造的有向图.如果构造的边与输入 ...
- Codeforces 1144F Graph Without Long Directed Paths DFS染色
题意: 输入一张有向图,无自回路和重边,判断能否将它变为有向图,使得图中任意一条路径长度都小于2. 如果可以,按照输入的边的顺序输出构造的每条边的方向,构造的边与输入的方向一致就输出1,否则输出0. ...
- Codeforces Round #550 (Div. 3) F. Graph Without Long Directed Paths
F. Graph Without Long Directed Paths time limit per test 2 seconds memory limit per test 256 ...
- F. Graph Without Long Directed Paths Codeforces Round #550 (Div. 3)
F. Graph Without Long Directed Paths time limit per test 2 seconds memory limit per test 256 megabyt ...
- Graph Without Long Directed Paths CodeForces - 1144F (dfs染色)
You are given a connected undirected graph consisting of nn vertices and mm edges. There are no self ...
- Codeforces Round #550 (Div. 3) F. Graph Without Long Directed Paths (二分图染色)
题意:有\(n\)个点和\(m\)条无向边,现在让你给你这\(m\)条边赋方向,但是要满足任意一条边的路径都不能大于\(1\),问是否有满足条件的构造方向,如果有,输出一个二进制串,表示所给的边的方向 ...
- CF 329C(Graph Reconstruction-随机化求解-random_shuffle(a+1,a+1+n))
C. Graph Reconstruction time limit per test 3 seconds memory limit per test 256 megabytes input stan ...
- CF 990D Graph And Its Complement 第十八 构造、思维
Graph And Its Complement time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- E CF R 85 div2 1334E. Divisor Paths
LINK:Divisor Paths 考试的时候已经想到结论了 可是质因数分解想法错了 导致自闭. 一张图 一共有D个节点 每个节点x会向y连边 当且仅当y|x,x/y是一个质数. 设f(d)表示d的 ...
随机推荐
- 图论中最优树问题的LINGO求解
树:连通且不含圈的无向图称为树.常用T表示.树中的边称为树枝,树中度为1的顶点称为树叶. 生成树:若T是包含图G的全部顶点的子图,它又是树,则称T是G的生成树. 最小生成树:设T=(V,E1)是赋权图 ...
- php 设计模式之命令模式
命令模式 将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化.对请求排队或记录请求日志,以及支持撤销的操作. 命令模式以松散耦合主题为基础,发送消息.命令和请求,或通过一组处理程序发送 ...
- [Algo] 132. Deep Copy Undirected Graph
Make a deep copy of an undirected graph, there could be cycles in the original graph. Assumptions Th ...
- Maven高级:01.maven分模块构建&&02.私服的应用
IntelliJ IDEA 2018.3.6 x64 07 Maven高级:01.maven分模块构建(上) 07 Maven高级:01.maven分模块构建(中) 07 Maven高级:01.mav ...
- py02_01:初识模块
模块的定义:模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.(可以理解为:库) 模块分为三类 ( 1. 标准库: 直接导入使用 ...
- 1013A.Piles With Stones
题目出处:http://codeforces.com/contest/1013/problem/A #include<iostream> using namespace std; int ...
- 论文或github中一些通用思想
(1) 云从 上海交大 ECCV2018 http://openaccess.thecvf.com/content_ECCV_2018/papers/Yao_Feng_Joint_3D_Face_EC ...
- eureka学习之二:自我保护机制
提供者和消费者:消费者通过注册服务名称,找rpc远程地址,调用提供者的接口 Eureka的自我保护机制:
- Proe 导出PDF Vb.net
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSt ...
- POJ-1751 Highways(最小生成树消边+输出边)
http://poj.org/problem?id=1751 Description The island nation of Flatopia is perfectly flat. Unfortun ...