codeforce链接:https://codeforces.com/problemset/problem/780/C

CF780C Andryusha and Colored Balloons

题目描述

题意:

有一颗n个节点的树,进行有限制染色,问染色的最少颜色数,以及每个点的颜色(从1标号,标号不能超过颜色数).

限制:相邻三个点的颜色不能相同.

输入格式

第一行一个n,

接下来n-1行<x,y>,表示x与y之间有一条连边.

输出格式

第一行一个数,为最小颜色数.

接下来n个数,为[1,n]的点的颜色.

输入输出样例 #1

输入 #1

3
2 3
1 3

输出 #1

3
1 3 2

输入输出样例 #2

输入 #2

5
2 3
5 3
4 3
1 3

输出 #2

5
1 3 2 5 4

输入输出样例 #3

输入 #3

5
2 1
3 2
4 3
5 4

输出 #3

3
1 2 3 1 2

说明/提示

n:[3,2e5]

思路:

用dfs来处理涂色问题,标记已经遍历过的,标记颜色通过碰到相同的颜色++,保证最后使用的最大颜色数最小

题解

#include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
typedef long long ll;
int n;
vector<int>t[N];
bool vis[N];
int c[N];
int cnt;
void dfs(int pos,int pre)
{
int now=1;
vis[pos]=1;
for(int i=0;i<t[pos].size();i++)
{
if(vis[t[pos][i]])continue;
while(now==c[pre]||now==c[pos])now++;
c[t[pos][i]]=now;
cnt=max(cnt,now);
dfs(t[pos][i],pos);
now++;
}
} int main()
{
cin>>n;
for(int i=1;i<n;i++)
{
int u,v;
cin>>u>>v;
t[u].push_back(v);
t[v].push_back(u);
}
c[1]=1;
dfs(1,0);
cout<<cnt<<endl;
for(int i=1;i<=n;i++)cout<<c[i]<<' ';
cout<<endl;
return 0;
}

CF780C Andryusha and Colored Balloons (dfs)的更多相关文章

  1. CodeForces - 780C Andryusha and Colored Balloons(dfs染色)

    Andryusha goes through a park each day. The squares and paths between them look boring to Andryusha, ...

  2. Codeforces 781A:Andryusha and Colored Balloons(DFS染色)

    http://codeforces.com/contest/782/problem/C 题意:给一棵树染最少的颜色,使得相邻距离为2的点都是不同的颜色,问最少是多少种颜色并输出每个点的颜色. 思路:比 ...

  3. [CF780C]Andryusha and Colored Balloons 题解

    前言 完了,完了,咕值要没了,赶紧写题解QAQ. 题意简述 给相邻的三个节点颜色不能相同的树染色所需的最小颜色数. 题解 这道题目很显然可以用深搜. 考虑题目的限制,如果当前搜索到的点为u, 显然u的 ...

  4. C. Andryusha and Colored Balloons

    C. Andryusha and Colored Balloons time limit per test 2 seconds memory limit per test 256 megabytes ...

  5. code force 403C.C. Andryusha and Colored Balloons

    C. Andryusha and Colored Balloons time limit per test 2 seconds memory limit per test 256 megabytes ...

  6. Codeforces 782C. Andryusha and Colored Balloons 搜索

    C. Andryusha and Colored Balloons time limit per test:2 seconds memory limit per test:256 megabytes ...

  7. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) C Andryusha and Colored Balloons

    地址:http://codeforces.com/contest/782/problem/C 题目: C. Andryusha and Colored Balloons time limit per ...

  8. codeforces781A Andryusha and Colored Balloons

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  9. AC日记——Andryusha and Colored Balloons codeforces 780c

    C - Andryusha and Colored Balloons 思路: 水题: 代码: #include <cstdio> #include <cstring> #inc ...

  10. LeetCode Subsets II (DFS)

    题意: 给一个集合,有n个可能相同的元素,求出所有的子集(包括空集,但是不能重复). 思路: 看这个就差不多了.LEETCODE SUBSETS (DFS) class Solution { publ ...

随机推荐

  1. frp增加IP限制

    核心设计理念 传统frp安全方案的不足 静态配置文件管理白名单IP,修改需要重启服务 分布式环境下多节点配置同步困难 缺乏实时阻断恶意IP的能力 Redis作为动态白名单存储的优势 实时生效:IP规则 ...

  2. 阿里二面:main 方法可以被继承吗|转

    摘要:java中,main方法可以被重载,可以被调用,可以被继承,可以被重写. 目录 main 函数介绍 main方法能被重载 main方法能被其它方法调用 main方法能被继承 结束语 Refere ...

  3. 【转载】controller-runtime之manager的实现

    介绍 在controller-runtime中使用一个 Manager 的接口来管理 Controller,除了控制器其实还可以管理A dmission Webhook,也包括访问资源对象的clien ...

  4. C# 与低代码平台的融合:以活字格为例的 Web API 开发实践

    引言 在当今软件开发领域,低代码平台凭借其高效.便捷的特性逐渐成为开发的主流趋势.而 C# 作为一种功能强大的编程语言,在服务端开发中有着广泛的应用.将 C# 与低代码平台相结合,能够充分发挥两者的优 ...

  5. 上班第一天安装idea

    分享一波 IDEA 2023.2.5 版本的激活码,需搭配破解补丁一起使用,永久有效,亲测好用(前面步骤差不多,主要看后面)~ 申明:本教程 IntelliJ IDEA 破解补丁.激活码均收集于网络, ...

  6. 关于springboot启动时,老找不到bean

    spring可以管理部分工具类,但是不可以管理接口,也就是@Controller,@Component,@Repository,@Service不能放接口上. 就相当于new一个一个实例 但是你在使用 ...

  7. 数栈产品预告丨您的指标管理平台——EasyIndex即将上线

    ​  一.写在前面 2016年,数栈开始正式投入研发,发展至今,已经拥有了:实时开发.离线开发.算法开发这些开发平台:数据资产.数据质量这些资产平台:以及数据服务.智能标签这些服务平台,这些不同类型的 ...

  8. HyperWorks的实体几何创建与六面体网格剖分

    创建和编辑实体几何 在 HyperMesh 有限元前处理环境中,有许多操作是针对"实体几何"的,例如创建六面体网格.在创建实体网格的工作中,我们既可以使用闭合曲面创建实体网格,也可 ...

  9. Web前端入门第 70 问:JavaScript DOM 节点查找常用方法

    虽然目前的开发场景基本都是使用 React/Vue/Angular 等框架,但是对于一些基础的 DOM 操作,还是需要了解学习. 曾经我们讨论过这样一个问题:Vue 这些开发框架,用它们渲染页面,真的 ...

  10. 关于shell脚本的正确入门姿态

    .这两天工作无事,捣鼓齐了linux系统,对于简单的操作那个ok的,但从未接触过shell脚本,这篇文章便是记录一个如何入门shell,又在简历上又多了一项技能啦 ~ 1.什么是shell?      ...