luogu#P11606. [PA 2016] 构树 / Reorganizacja

[PA 2016] 构树 / Reorganizacja

题目背景

译自 Potyczki Algorytmiczne 2016 R2 Reorganizacja [A] (REO)。1s,256M\texttt{1s,256M}

题目描述

构造一棵 nn 个节点的有根树,满足 mm 条限制,形如「xx 必须是 yy 的祖先」或者「xx 必须不是 yy 的祖先」。

输入格式

第一行,两个整数 n,mn,m

接下来 mm 行,每行两个正整数和一个字符 x,y,cx,y,c。其中 x,yx,y 为正整数,c{T,N}c\in \{\texttt{T},\texttt{N}\}xyx\neq y

  • c=Tc=\texttt{T},表示 yy 必须是 xx 的祖先;
  • 否则,表示 yy 必须不是 xx 的祖先。

保证不会重复给出同一条信息。

输出格式

若无解,输出一行一个 NIE\texttt{NIE}

否则输出 nn 行,每行一个整数,表示 ii 号点的父亲。

  • 特别地,若 ii 是根,则规定其父亲为 00
4 4
4 1 T
4 2 T
3 2 N
4 3 N
0
1
1
2
2 2
1 2 N
2 1 N
NIE

提示

  • 1n1031\le n\le 10^3
  • 0mmin(n(n1),104)0\le m\le \min(n(n-1), 10^4)
  • 1x,yn1\le x,y\le nxyx\neq y

保证不会重复给出同一条信息。