QOJ.ac

QOJ

実行時間制限: 30.0 s メモリ制限: 256 MB 満点: 100

#17506. 会计笔记

統計

你有一个会计,她负责记录你所有的开支。每天你都会把开支笔记发给她,而她会将这些笔记追加到一个巨大的汇总文件中。你的每份笔记都由若干行组成,例如:

bed = 100
table = 150
furniture = bed + table
furniture = furniture + 10

这(可能)意味着你在家具上花了 250,在交通上(可能)花了 10。更一般地,你笔记中的每一行都是以下格式之一:

  • name = number
  • name = item + item

其中 item 可以是 numbernamenumber 是一个不超过 $10^9$ 的自然数(不含前导零),name 是由大小写字母组成的任意字符序列。

在将你的笔记转录到汇总文件时,会计既没有改变某份笔记中各行的顺序,也没有打乱不同笔记的行。但是,她有时会修改变量名……不过她做得很一致,会将单份笔记中所有出现的某个名字替换为同一个新名字。此外,同一份笔记中的不同名字在汇总文件中也会被重写为不同的名字。但是,这并不保证与其他笔记保持一致——例如,一份笔记中的名字 beer 可能会被重写为 drink,另一份笔记中的名字 tee 也可能会被重写为 drink,而下一份笔记中的 beer 可能会被重写为 food。我们称她在汇总文件中记录的你的笔记版本为该笔记的一个转录(transcription)。

现在的问题是,你的会计刚刚辞职了(而且事实证明,她卷走了你大部分的积蓄),只给你留下了汇总文件和一大堆未分类的原始笔记。你想检查是否有些笔记没有被记录在汇总文件中,因此对于每份笔记,你需要在汇总文件中寻找一段可能是其转录的连续行。

输入格式

输入包含多个测试用例。输入的第一行包含一个正整数 $Z \le 15$,表示测试用例的数量。接下来是 $Z$ 个测试用例,每个测试用例的格式如下。

每个测试用例的第一行包含一个整数 $k$,表示笔记的数量($1 \le k \le 50000$)。

接下来的行首先包含 $k$ 份笔记的描述,然后是汇总文件的描述。

每份笔记和汇总文件的描述都始于一行,该行包含一个整数 $d$($1 \le d$),表示该部分的行数。

接下来是 $d$ 行,每行包含笔记或汇总文件中的一行。每行的格式如上文所述。你可以认为名字、数字、符号 "=""+" 之间用单个空格分隔,且每行长度最多为 100 个字符。汇总文件的行数与所有笔记的行数之和均不超过 $3 \times 10^6$。

输出格式

对于每个测试用例,输出应包含 $k$ 行。第 $i$ 行应为第 $i$ 份笔记的答案。

该答案应为汇总文件中该笔记可能转录起始的第一行的行号(汇总文件的第一行编号为 1)。如果汇总文件中没有任何片段可以作为该笔记的可能转录,则输出单词 NONE

样例

输入样例 1

2
3
4
bed = 100
table = 150
furniture = bed + table
furniture = furniture + 10
1
beer = 100
2
a = a + a
a = a + 10
10
furniture = 100
table = 150
furniture = furniture + table
furniture = furniture + 10
sofa = 100
stol = 150
meble = sofa + stol
meble = meble + 10
picie = 100
drink = 0100
2
1
a = 100 + 200
1
a = 100
2
x = 100 + 200
y = 100

输出样例 1

5
1
NONE
1
2

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.