QOJ.ac

QOJ

时间限制: 2.5 s 内存限制: 256 MB 总分: 100

#11286. 体育竞赛

统计

有 $n$ 名参赛者参加一场体育锦标赛,每名参赛者代表不同的国家。此外,每个参赛国家都派出了体育记者,负责报道其代表在排名中的位置。不幸的是,一些记者因为过于激动,忘记了他们的国家冠军获得了哪个名次;在这种情况下,他们会宣布两个可能的名次。

根据记者的报告,判断他们是否能唯一确定排名(排名中没有并列名次)。如果可以,请给出这个唯一的排名;否则,请给出可能的排名总数。

输入格式

标准输入的第一行包含一个正整数 $n$,表示参赛国家的数量。

接下来的 $n$ 行包含报告,第 $i$ 行给出第 $i$ 个国家记者的报告。如果记者确定其代表的名次,报告由字母 T 后跟一个整数 $a_i$ ($1 \le a_i \le n$) 组成,表示第 $i$ 名参赛者的名次。如果记者不确定,报告由字母 N 后跟两个不同的整数 $a_{i,1}$ 和 $a_{i,2}$ ($1 \le a_{i,j} \le n$) 组成,表示第 $i$ 名参赛者的两个可能名次。

输出格式

如果记者的报告能唯一确定排名,则标准输出的第一行应包含单词 TAK(波兰语中的“是”)。在这种情况下,接下来的 $n$ 行应描述排名情况如下:第 $i$ 行应包含一个数字,等于第 $i$ 名参赛者的名次。

如果关系存在矛盾或排名不唯一,则标准输出的第一行应包含单词 NIE(波兰语中的“否”),第二行应包含可能的排名总数,对 $1\,000\,000\,007$ 取模。

样例

输入 1

3
N 2 3
T 3
N 2 1

输出 1

TAK
2
3
1

输入 2

3
N 2 1
T 3
N 2 1

输出 2

NIE
2

说明

样例测试: 1ocen: $n = 5$,每位记者都不确定,且报告存在矛盾; 2ocen: $n = 10$,每位记者都不确定,且有 32 种可能的排名; 3ocen: $n = 1\,000\,000$,每位记者都确定($a_i = i$),答案为 TAK

子任务

测试集由以下子集组成。在每个子集内,可能有多个测试组。

子集 属性 分数
1 $n \le 10$ 20
2 $n \le 2000$ 30
3 $n \le 1\,000\,000$ 且存在唯一排名 20
4 $n \le 1\,000\,000$ 30

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.