原题链接,所有注的部分都是我的理解(非原文)
题目描述
有个表面上的美女会计会给你记录所有的开销expenses
.每天你给她开销便签notes on expense
(即便条贴之类,后面我用notes
$\underline{开销便签}$简写),然后她把这些笔记汇总到一个大的整理夹中(summary file
,以下简称$\underline{汇总卷}$).每个开销便签都有几行,如下:
bed = 100 #床 100(元?)
table = 150 #桌子 150
furniture = bed + table #家具 = 床+ 桌子
furniture = furniture + 10 #家具 += 10 (这是交通费)
所以你(很可能)会花250元在家具furniture
上, 然后10元在交通. 总的来说,你的每一行开销便签里都含有以下:
name = number # 商品名称 = 数字(题意指价格,后续数字均指价格,大概)
name = item + item # 商品名称 = 东西 + 东西 (详见下段描述)
item
这个东西是①价格(number) ②名称(name);
① 价格的话是个小于等于$10^9$的自然数(开头没0,注:不存在0005这种而是5).
②name
就是一个含大小写字母的任意序列(sequence)。
当整理开销便签到汇总卷里时,女会计不会改变开销便签内每一行的顺序,也不会把不同开销便签的排列顺序打乱。 但这人有个【坏毛病】,她偶尔会发神经【把names
商品名称改了】。她要改的话就通通一气儿把整个(单个)开销便签里的这个名称全改成同一个新的。在同一个开销便签里,不同名称会被改成不同的新名称(整理到汇总卷之后)。【重点来了】,她对其他开销便签的改法没有一致性。【即胡乱改】
(译者注:即①开销便签A里顺序不变;②A, C, …其他开销便签也是按顺序排列)
(注:我感觉题目省略了一句话,一个便签里所有名称都会被改才是她【胡乱改】的风格)
举个例子:
① beer
来自notes_A会被改成drink
(啤酒变饮料),tee
来自notes_E也可以被改成drink
.(茶也变饮料)
② beer
来自notes_B 可以被改成food
(啤酒变食品)。
我们把这种被$\huge \color{pink}{无情}$过的开销便签称为transcription
【$\underline{胡乱改}$】
【要素来了】:她跑路了(携款潜逃,纯原文的吐槽),你现在要面对一堆汇总卷summary files
和一大堆尚未分类的开销便签notes
.
【你要做的是】检查是否有些开销便签没被收录到汇总卷中,即对于每个开销便签notes
你要看它是不是【胡乱改】
$\color{red}{Input}$ 输入
输入包含几行数据。
①第一行有一个正整数Z ≤ 15
, 表示测试数据的总个数。
②以下Z
个数据:
第一行包含整数k
, 表示开销便签
的数量(范围:1 ≤ k ≤ 50000
),
接下来几行包含k
个开销便签的信息,【注:所有开销数据
读完后】然后是汇总卷的信息.
1) 他们都以一行含有整数d
(d≥1)为开头。
2) 然后接下来d
行:每行都含有单独一行的开销便签
或汇总卷
。格式见上述描述。
你可以假设names
, numbers
, 符号 ‘=’
and ‘+’
都是以_
(一个空格)隔开。每行上线100个字符。最大文本长度3 * $10^6$,所有信息的长度之和最大3 * $10^6$. (注:pattern我想指的是信息)
$\color{red}{Output}$ 输出
对于每个数据,你的代码需要转化为以下格式输出。
一共k
行。第i
行对应第i
个开销便签的情况。
① 当【胡乱改】(第一次)出现时,汇总卷
所对应的行数,
或者②NONE
如果对于当前开销便签
,汇总卷
里都没有它所对应的胡乱改。
$\color{red}{Sample Input}$ 样例输入
2 #一共两个测试数据test cases
3 #三个开销便签
4 #开销便签1号(4行)
bed = 100
table = 150
furniture = bed + table
furniture = furniture + 10
1 #开销便签2号(1行)
beer = 100
2 #开销便签3号(2行)
a = a + a
a = a + 10
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 #2个测试数据
1 #开销数据4号(1行)
a = 100 + 200
1 #开销数据5号(1行)
a = 100
2 #汇总卷(2行)
x = 100 + 200
y = 100
$\color{red}{Sample Output}$ 样例输出
5 #第一个开销便签在汇总卷的第五行被胡乱改了
1 #第二个开销便签在汇总卷的第一行被胡乱改了
NONE #第三个开销便签在汇总卷里没胡乱改了(或者没有)
1 #第四个开销便签在汇总卷的第一行被胡乱改了
2 #第五个开销便签在汇总卷的第二行被胡乱改了
$\huge \color{#00ccff}{这个输入输出仅限译者个人理解,不保证准确}$
$\huge \color{#00ccff}{我感觉这题英文原文的输出部分就写错了}$
The output for a single instance should consist of k lines. In the i-th line there should be the answer for the i-th note. It should be the number of the first row in the summary file, where a possible transcription of the i-th note starts (the first row of the summary file has number 1) or word ‘NONE’ if no fragment of the summary file could be such possible transcription.
six six six
O(∩_∩)O哈哈~ 话说你们写英文题多不多,感觉理解起来难么
百度翻译 属实牛皮
百度最近一年AI也搞起来了一些么
一般读得半懂,然后样例猜题意
其实是不用翻墙的……至少vjudge不用(当然uva这种基本上不去的就算了……)
翻译了半小时,修改了一个半小时。【懵, 可爱脸】
Orz……(Vjudge仅1人AC的神题)
(不如您把题解顺手也写了)