P2982【CH Fimbulvetr::Prologue】生成 | |
|
问题描述
题目背景:
一切都结束了。
用死亡守护,或是逃避么……都不重要了。
未来还会有新的苦难,生命不能白白流失,你需要生成新的希望。
题目描述:
你有一个数列A,当它与一个新的数列B融合时,会随机在A与B中各选一个数,如果它们的和(或异或和,当type=1时需要输出)在数列C中出现了,那么融合成功,否则融合失败。现在,你要生成准备希望了。
输入格式
输入共4行。
第一行四个整数La,Lb,Lc,type,表示A,B,C的长度,type表示要求输出的答案。
第二行La个整数,表示数列A。
第三行Lb个整数,表示数列B。
第四行Lc个整数,表示数列C。
输出格式
输出共1行。
输出融合成功的概率,结果保留10位小数。
如果type=0只需输出融合为加法的答案,如果type=1需要在后面继续输出融合为异或时的答案,中间用一个空格隔开。
样例输入
5 4 6 1
3 2 4 2 2
2 1 3 4
2 4 6 3 5 7
样例输出
0.9500000000 0.5500000000
提示
设A,B,C中的最大值为V。
对于30%的数据,1<=La,Lb,Lc<=2000,1<=V<=1000。
对于另外40%的数据,type=0。
对于100%的数据,1<=La,Lb,Lc<=200000,1<=V<=100000。
来源 感谢Mahiro命题,感谢nodgd放题