RQNOJ系统遇到了一个程序错误。

您可以通过邮件support (at) rqnoj.cn与我们进行联系。请附错误参考编号:319511

[APIO2012]守卫 - 题库 - RQNOJ
PID687 / [APIO2012]守卫
题目描述

APIO 王国正被忍者攻击!忍者非常厉害,因为他们在进攻的时候可以躲在 阴影里面使得其他人看不到他们。 整个王国除了国王居住的 APIO 城堡以外都已 经被占领了。在城堡前,有 N 个灌木丛,从 1 到 N 编号,有 K 个忍者躲在恰好 K 个灌木丛后面。 APIO 城堡里有 M 个守卫。 守卫 i 监视着编号从 Ai 到 Bi 的连续 的一段灌木丛。 每个守卫都向国王报告在他所监视范围内是否有忍者出现。作为 国王的仆人,你需要告诉国王,基于守卫的报告,哪些灌木丛后面一定躲着一个 忍者, 即对于任何和守卫报告不矛盾的忍者排列方式,在这个灌木丛后面都躲着 一个忍者。

你需要写一个程序来输出所有的这些灌木丛的编号。

输入格式

从标准输入读入数据。

第一行包含三个用空格分隔的整数 N, K, M,N 是灌木丛的个数,K 是忍者 的个数,M 是守卫的个数。

接下来 M 行,每行描述一个守卫的信息。其中的第 i 行包含三个整数 Ai, Bi, Ci,表示第 i 个守卫的监视范围是从 Ai 到 Bi(Ai ≤ Bi) i 是 0 或者 1,若是 0 表 。C 示范围内没有看到忍者,1 表示范围内有至少一个忍者。

输入数据保证至少存在一种忍者排列方式满足所有条件。

1 ≤ N ≤ 100,000

1≤K≤N

0 ≤ M < 100,000

对于 10%的数据,N ≤ 20, M ≤ 100; 对于 50%的数据,N ≤ 1000, M ≤ 1000。

输出格式

输出到标准输出。

若存在灌木丛, 在其后面一定躲着忍者,则将这些一定躲着忍者的灌木丛按 照编号从小到大的顺序依次输出,每个一行。

即若有 X 个这样的灌木丛,则需 要输出 X 行。

若不存在,则输出一行一个“-1” ,不包含引号。

样例输入
样例输出
提交题目 Error [ 更改语言 ] Language
C C++ Pascal Python2
相关讨论
查看更多讨论
发布新讨论 讨论