11月10日联考 林檎花火
Posted dftmr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11月10日联考 林檎花火相关的知识,希望对你有一定的参考价值。
性质:删掉任意一个点后,原来能被删的点仍能被删,原来不能被删的点仍不能被删
判断每个点能否被删,并从小到大输出
#include<cstdio> using namespace std; int head[300005],len,a[300005],n,x,y,flag[300005],ans; struct EDGE{ int to,next; }edge[600005]; void add(int x,int y){ ++len; edge[len].to=y; edge[len].next=head[x]; head[x]=len; } void dfs1(int u,int fa){ flag[u]=a[u]; for (register int i=head[u];i;i=edge[i].next){ int v=edge[i].to; if (v!=fa){ dfs1(v,u); flag[u]&=a[v]; } } } int main(){ scanf ("%d",&n); for (register int i=2;i<=n;++i){ scanf ("%d%d",&x,&a[i]); add(x,i);add(i,x); } dfs1(1,0); for (register int i=1;i<=n;++i){ if (flag[i]) ++ans; } printf ("%d ",ans); for (register int i=1;i<=n;++i){ if (flag[i]) printf ("%d ",i); } printf (" "); return 0; }
以上是关于11月10日联考 林檎花火的主要内容,如果未能解决你的问题,请参考以下文章
;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk
9月4日 | SAIF金融EMBA/EE/DBA招生说明会暨备战EMBA联考指导讲座