logo AlgoBeat OnlineJudge
登录 注册

#215649. [语言月赛 202603] 选课

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

错过比赛可以在入门赛结束后继续参加语言月赛同步赛,【赛后补题】也请从同步赛中进入:https://www.luogu.com.cn/contest/316039


小 R 的大学中共有 门课程,编号为 。第 门课程有 门先修课,编号分别为

每门课程都有三种可能的状态:未选、通过、挂科。初始时所有课程均为“未选”状态。

小 R 每次可以选择任意多门课程学习,但是必须满足以下条件:

  • 被选择的每门课程的所有先修课程必须为“通过”状态;
  • 被选择的每门课程必须为“未选”或“挂科”状态。

在一门课程结束后,若她的考试成绩大于等于 分,则该课程状态变成“通过”;否则该课程状态变成“挂科”。

现在依次给出 次询问,每次询问给出小 R 选择的所有课程编号以及每门课程的考试成绩。请你先判断她选择的课程是否符合上述两个条件,若符合条件,再更新所选课程的状态。若她的选择不符合条件,无论输入的考试成绩为何值,都不更新课程状态。

保证先修课关系不会成环。也就是说,存在一种选课顺序,使得小 R 可以通过所有课程。

输入格式

第一行两个整数 ,表示课程数量和询问次数。

接下来 行,第 行的第一个整数 表示第 门课的先修课数量,接下来 个整数 表示第 门课的所有先修课编号。

接下来 行,每行描述一次询问。第一个整数 表示选择的课程数量,接下来 个整数 表示她选择的课程编号,接下来 个整数 表示她在对应课程的考试成绩。

输出格式

行,依次回答所有询问,格式如下:

  • 若小 R 的选择不符合条件,输出 Error
  • 若小 R 的选择符合条件,输出一个长度为 的字符串。若第 门课程状态变更为“考试已通过”,则第 个字符为 P,否则第 个字符为 F

样例

样例输入 1

4 4
1 2
0
1 2
2 1 3
3 1 3 2 87 51 92
1 2 79
2 1 3 48 97
1 4 80

样例输出 1

Error
P
FP
Error

样例输入 2

4 4
0
0
0
0
2 1 3 76 48
3 1 2 4 93 27 64
1 3 59
2 3 4 80 90

样例输出 2

PF
Error
F
PP

样例输入 3

4 4
1 3
1 3
0
1 1
1 3 100
2 2 3 100 100
2 2 4 100 100
2 2 1 100 100

样例输出 3

P
Error
Error
PP

数据范围与提示

样例解释 #1

第一次询问中,课程 是选择的课程 的先修课,且处于“未选”状态,不符合条件一。

第二次询问中,课程 的成绩为 ,状态变成“通过”。

第三次询问中,课程 的成绩为 ,状态变成“挂科”,课程 的成绩为 ,状态变成“通过”。

第四次询问中,课程 是选择的课程 的先修课,且处于“挂科”状态,不符合条件一。


样例解释 #2

第一次询问中,课程 的成绩为 ,状态变成“通过”,课程 的成绩为 ,状态变成“挂科”。

第二次询问中,选择的课程 状态为“通过”,不符合条件二。

第三次询问中,课程 的成绩为 ,状态变成“挂科”。

第四次询问中,课程 的成绩为 ,状态变成“通过”,课程 的成绩为 ,状态变成“通过”。

本样例满足测试点 的限制。


样例解释 #3

本样例满足测试点 的限制。


数据范围

对于全部数据:

  • );
  • 每次询问满足 );
  • 保证同一门课的先修课两两不同,且先修课关系不会成环;
  • 保证同一次询问中小 R 选的课两两不同。

部分分:

  • 对于测试点 (共 分),
  • 对于测试点 (共 分),)。
  • 对于测试点 (共 分),每次询问满足 )。
  • 对于测试点 (共 分),每次询问满足
  • 对于测试点 (共 分),无特殊限制。