【DFS】Codeforces 717E Paint it really, really dark gray
来源:互联网 发布:爱心地图的软件 编辑:程序博客网 时间:2024/05/17 08:46
题面在这里
其实就是用DFS递归处理:
对于子树x,先把它的所有儿子子树处理掉
然后再看x,如果颜色不对,为了不改变下面的颜色,就
如果x是根就比较特殊了,可以
示例程序:
#include<cstdio>inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;}inline int red(){ int res=0,f=1;char ch=nc(); while (ch<'0'||'9'<ch) {if (ch=='-') f=-f;ch=nc();} while ('0'<=ch&&ch<='9') res=res*10+ch-48,ch=nc(); return res*f;}const int maxn=200005,maxe=400005;int n;int tot,son[maxe],lnk[maxn],nxt[maxe];inline void add(int x,int y){ son[++tot]=y;nxt[tot]=lnk[x];lnk[x]=tot;}bool a[maxn];void dfs(int x,int fa){ printf("%d ",x);int tem=0; for (int j=lnk[x];j;j=nxt[j]) if (son[j]!=fa) a[son[j]]=!a[son[j]],dfs(son[j],x),printf("%d ",x),a[x]=!a[x],tem=son[j]; if (!a[x]){ if (x!=1) printf("%d %d ",fa,x),a[fa]=!a[fa];else printf("%d %d %d",tem,x,tem); a[x]=!a[x]; }}int main(){ n=red(); for (int i=1;i<=n;i++) a[i]=(red()==1); for (int i=1,x,y;i<n;i++) x=red(),y=red(),add(x,y),add(y,x); dfs(1,0); return 0;}
阅读全文
1 0
- 【DFS】Codeforces 717E Paint it really, really dark gray
- codeforces 717E - Paint it really, really dark gray
- [构造] Codeforces 717E Bubble Cup 9 - Finals E. Paint it really, really dark gray
- 【DFS】Codeforces717E[Paint it really, really dark gray]题解
- [dfs] Codeforces717E. Paint it really, really dark gray
- It is really Awesome!
- It's really hard
- It's Really Bother Me !!!
- OpenStack, What it really is?
- Google Caffeine: What it really is
- codeforces 817C Really Big Numbers 二分
- 【Codeforces 817C. Really Big Numbers】+ 二分
- 【Codeforces 817 C. Really Big Numbers】+ 构造
- codeforces 817C Really Big Numbers 二分
- codeforces 817C Really Big Numbers
- Codeforces 817 C. Really Big Numbers 二分
- Meta Really
- Really Strange!!
- 多种方式实现(jdk原生api实现/httpClient的实现) java 发送http(post/get)请求并携带参数(讲解超详细)
- 自学者圈&公众号-一个自学的程序员
- 欢迎使用CSDN-markdown编辑器
- MyEclipse中无法部署项目到tomcat中的解决方法( deployment is out of date due to changes in the underlying ......)
- 整数划分系列
- 【DFS】Codeforces 717E Paint it really, really dark gray
- 利用ServletContextListener初始化数据到内存
- maven如何在eclipse中使用,构建架包
- 查询oracle数据库的数据库名、实例名、ORACLE_SID
- 二叉树的下一个节点
- MVC开发模式
- Spring4.0.1+Quartz2.2.1实现定时任务调度[亲测可用]
- 简单的计算器制作
- Spring装配Bean之组件扫描和自动装配