有M行诗句每行包含一个大写字母ei。所有字母等于ei的行必须以同一类型的句子结尾。不同ei值的行必须以不同的类型的句子结尾。假设有N种不同的句子类型我们可以用counti表示第i种句子类型的情况数。同一种类型结尾但是不同句子属于不同情况诗歌顺序交换属于不同情况。
根据题目要求,我们可以得出以下结论:
-
所有字母等于ei的行必须以同一类型的句子结尾。也就是说,如果有多行字母等于ei,那么它们的结尾句子类型必须相同。
-
不同ei值的行必须以不同的类型的句子结尾。也就是说,如果两行字母的ei值不同,那么它们的结尾句子类型也必须不同。
-
同一种类型结尾但是不同句子属于不同情况。也就是说,假设有两行以相同类型的句子结尾,但是这两行的句子不同,那么它们属于不同的情况。
-
诗歌顺序交换属于不同情况。也就是说,如果有多行字母等于ei,它们的顺序不同,那么它们属于不同的情况。
基于以上结论,我们可以得出如下推导:
对于每个ei值,我们需要找到满足条件的结尾句子类型的数量。假设有m个ei值,那么我们需要找到m个不同的句子类型。
首先,我们需要确保每个ei值都有一个不同的句子类型。可以用一个集合来存储已经使用的句子类型,然后遍历ei值,将未使用的句子类型分配给对应的ei值。
然后,我们需要找到剩下的句子类型数量。可以用变量N表示总的句子类型数量,用变量n表示已经使用的句子类型数量,那么剩下的句子类型数量为N-n。
最后,我们需要计算每个句子类型的情况数。根据题目要求,同一种类型结尾但是不同句子属于不同情况。所以第i种句子类型的情况数为count[i]。假设已经找到的句子类型数量为n,那么总的情况数为count[1] * count[2] * ... * count[n]。
综上所述,我们可以通过以上步骤计算出总的情况数
原文地址: http://www.cveoy.top/t/topic/iT6M 著作权归作者所有。请勿转载和采集!