#P13350. 「ZYZ 2025」遗传
「ZYZ 2025」遗传
题目背景
唉,转生竞吧!
题目描述
如果你不了解生物的遗传学知识,可以阅读以下部分:
每个生物 M 都有两个属性,记属性一为 ,属性二为 ,称 为其基因型,包括 三种,这里认为 和 等价。
对于生物 M 可患的遗传病 I,若 I 为隐性遗传病,则该生物患病当且仅当其基因型为 ,若 I 为显性遗传病,则该生物患病当且仅当其基因型为 或 。
若基因型为 和 的生物交配,则其后代的基因型有四种情况:,且每种情况的概率相同,均为 。
若 的基因频率为 ,则认为在没有其他条件的影响下(在本题中“其他条件”包括“知道其父母”),一个生物 M 的两个属性各自有 的概率为 , 的概率为 ,且相互独立。
现在有一种生物 M 可患的遗传病 I,已知其是显性还是隐性, 的基因频率为 。
否则,你可以阅读以下部分:
现在有一种和生物 M 有关的遗传病 I,已知其是显性还是隐性,其受一对常染色体等位基因 控制,该基因的遗传符合孟德尔遗传规律,不考虑基因突变、染色体变异,交叉互换等特殊情况。
已知 的基因频率是 ,即认为在没有其他条件的影响下(在本题中“其他条件”包括“知道其父母”),一个生物 M 的两个基因各自有 的概率为 , 的概率为 ,且相互独立。
现在有 个生物 M,第 个生物的父亲为 ,母亲为 ,若 或 则表示父亲或母亲未知。为了简化问题,保证 和 要么均为 ,要么均不为 ,且恰有一个生物 M 没有孩子,其余生物 M 恰有一个孩子。
给出 个生物的关系,已知部分生物的患病情况,你需要分别求出每一个生物基因型为 的概率,对 取模。
你可以参见样例解释以更好的理解这个题目。
保证数据合法且保证数据随机生成。
输入格式
第一行输入四个整数 , 表示生物总数, 表示疾病 I 为隐性, 表示疾病 I 为显性, 的基因频率 。
接下来 行,第 行首先输入一个整数 ,若 表示第 个生物患病, 表示不患病, 表示患病状况未知。再输入两个整数 分别表示其父亲、母亲的编号,若编号为 ,则表示父母未知。
输出格式
输出 行,其中的第 行输出三个整数,分别表示第 个生物基因型为 的概率,结果对 取模。
3 0 1 2
2 0 0
0 0 0
1 1 2
500000004 500000004 0
0 0 1
0 1 0
提示
【样例解释】
记第 个生物为 ,其基因型为 。由于 患隐性遗传病,所以 且 含有基因(属性)。又因为 不患病,所以 。
因为 和患病的 生出不患病的 ,所以 一定不患病。因为 ,所以对于一个随机的不患病的个体,其基因型为 和 的概率之比为:
$$\left(\dfrac12\times\dfrac12\right):\left(2\times\dfrac12\times(1-\dfrac12)\right)=1:2 $$又因为基因型为 和 的个体生出 个体的概率为 ,基因型为 和 的个体生出 个体的概率为 ,所以 为 和 的概率之比为:
$$\left(\dfrac13\times1\right):\left(\dfrac23\times\dfrac12\right)=1:1 $$所以 为 和 的概率相同,均为 。
【数据范围】
本题采用捆绑测试。
子任务编号 | 特殊性质 | 分值 |
---|---|---|
任意 满足 | ||
无 |
对于 的测试数据,保证:,,,,保证出现题目给出情况的概率在模 意义下不为 ,保证数据随机生成。