#arc0332. [arc033_2]メタ構文変数
[arc033_2]メタ構文変数
问题文
「」、「」、「」等特指不具有特殊含义的变量名的字符串称为“元语法变量”。
高桥君正在研究元语法变量。他发现元语法变量有许多不同种类,并为每个找到的元语法变量分配了一个编号。高桥君阅读了和的源代码,并列举了它们各自源代码中出现的元语法变量编号。为了确定和使用的元语法变量集有多相似,他决定计算它们的“Jaccard系数”。定义两个集合和,分别表示和的源代码中出现的元语法变量集合,则Jaccard系数可以通过以下公式计算:
其中,表示集合的元素数。换句话说,
- Jaccard系数是“在和中同时出现的元素的数量”除以“至少在和中出现的元素的数量”。
输入
输入从标准输入中按以下格式给出:
... ...
- 第一行包含两个整数和,以空格分隔。表示的源代码中有个元语法变量,的源代码中有个元语法变量。
- 第二行包含个整数,以空格分隔,表示源代码中出现的元语法变量的编号。其中第个整数表示源代码中出现了第个元语法变量。保证当时,。
- 第三行包含个整数,以空格分隔,表示源代码中出现的元语法变量的编号。其中第个整数表示源代码中出现了第个元语法变量。保证当时,。
部分得分
本问题包含部分得分。
- 如果对所有满足且的测试用例都给出正确答案,则得到40分。
- 如果对所有满足的测试用例都给出正确答案,则得到70分。
输出
请输出和的源代码中出现的元语法变量集合的Jaccard系数,以一行输出。输出可以包含任意位小数,但不能包含超过的绝对误差。请在末尾添加换行符。
输入示例1
3 2
1 3 5
1 2
输出示例1
0.2500000000
在和的源代码中,只有编号为1的元语法变量同时出现在两个代码中,而至少在其中一个代码中出现的元语法变量是1、2、3、5共4个。
因此,Jaccard系数为。
输入示例2
9 10
11 2 33 4 55 6 77 8 99
10 11 14 19 55 1000000000 4 5 7 8
输出示例2
0.2666666667