ADERA
时间限制:10s 空间限制:128MB
题目描述
Adera 是 Microsoft Windows 8 应用商店中的一款Xbox 解谜游戏,主线以女主角 Jane
Sinclair 的探险经历展开。随着探险的不断深入,Jane Sinclair 获得的物品越来越多,因此她
急需一套物品评估查询的系统。
Jane Sinclair 身上有 n 件物品,编号为 0~n-1,每件物品有一个不同于其它物品的价值,
并且可以用一些小写英文字母构成的单词来描述这件物品。Jane Sinclair 想通过这套系统查
m条信息,每条查询包含一个整数 t 和一个字符串 s。如果描述一件物品的单词中,有以
s 为前缀的单词,那么这件物品是对Jane Sinclair 有用的。她想知道在这条查询中,对她有
用的物品一共有多少个,并且她还想了解对她有用的物品中价值前 t 大的物品的编号是什么。
现在就请你帮忙设计一下这个系统吧。
输入格式
第一行两个整数 n,m,分别表示物品个数和查询条数。
接下来 n 行,每行首先是一个整数 rating ,表示该物品的价值,然后是一个整数k,表示描述该物品的单词个数;接下来 k 个小写英文字母构成的字符串,描述这件物品。
接下来 m 行,每行一个整数 ti和一个字符串 si,表示一条询问。
输出格式
对于每条询问,首先输出在这次询问中对Jane Sinclair有用的物品总个数 tot;然后按顺
序输出 t 个整数,表示对她有用的物品中价值前t大的物品的编号。如果 t>tot,只需输出tot
个即可。每行内相邻两个整数之间用一个空格隔开,行末是一个回车符,没有空格。
样例输入
3 3 1 1 admin 2 2 freda adera 3 1 adver 10 ad 1 f 2 miao
样例输出
3 2 1 0 1 1 0
提示
对于 100%的数据,1<=n,m<=100000 ,0<rating<=10^9,每两件物品的 rating 均不相同,
描述物品的所有单词总长度不超过100000,所有询问的 s的总长度不超过 100000,所有询
问的 t的和不超过 500000。
题目来源
Adera 2 杯省选模拟赛