QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 256 MB Points totaux : 10

#6030. 重组 [A]

Statistiques

Bajtazar 是一位世界闻名的人力资源管理专家。最近,他受雇于一家 IT 公司,负责对其僵化的组织结构进行重组。

Bajtazar 提出的新结构简单而巧妙,它基于几个基本概念:总监(director)、上司(boss)和上级(superior)。

  • 公司中恰好有一名员工将成为总监,且他没有任何上司。
  • 除总监外,每名员工都有且仅有一名上司。
  • 员工的“上级”包括其上司以及该上司的所有上级。
  • 总监是所有其他员工的上级。

用图论的语言来说:员工是层级树中的节点,总监是树的根,员工的上司是节点的父亲,而上级则是祖先。

Bajtazar 得出结论,公司以往的问题源于处于上级-下属关系的员工之间的反感。为了在重组后避免此类问题,他收集了所有员工的偏好信息。每位员工都可以对任意数量的同事发表意见,方式有两种:“我希望 X 成为我的上级。”或者“我不希望 X 成为我的上级。”现在,Bajtazar 试图制定一个层级结构,以满足所有这些偏好。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 1000$, $0 \le m \le \min\{n(n-1), 10\,000\}$),分别表示公司员工的人数和收集到的偏好数量。员工编号从 $1$ 到 $n$。

接下来的 $m$ 行描述了员工的偏好。每行格式为 $a\ b\ c$,其中 $a$ 和 $b$ ($a \neq b$) 是员工编号,$c$ 是集合 $\{T, N\}$ 中的一个字符。如果 $c = T$,则表示员工 $a$ 希望员工 $b$ 成为其上级。如果 $c = N$,则表示员工 $a$ 不希望员工 $b$ 成为其上级。对于每一对有序的员工编号 $(a, b)$,输入中最多出现一次 $a\ b\ c$ 形式的行。

输出格式

如果无法创建满足所有员工偏好的层级结构,请输出 NIE。否则,你的程序应输出 $n$ 行,描述任意一个满足所有偏好的层级结构。第 $i$ 行应包含一个整数,表示编号为 $i$ 的员工的上司编号。对于被选为总监的员工,其对应的行应输出 $0$。

样例

输入 1

4 4
4 1 T
4 2 T
3 2 N
4 3 N

输出 1

0
1
1
2

输入 2

2 2
1 2 N
2 1 N

输出 2

NIE

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.