#5016. Problem 3. Mooball Teams III
0
Problem 3. Mooball Teams III
Problem 3. Mooball Teams III
USACO 2024 January Contest, Platinum
Farmer John 在他的农场上有 头牛(),编号为 。奶牛 位于整数坐标 ()。Farmer John 想要挑选两支队伍来玩哞球游戏!
其中一支队伍将是「红队」;另一队将是「蓝队」。对组队只有很少的要求。两队都不能为空,并且 头奶牛中的每一头至多只能在一个队中(可以两队都不在)。唯一的其他要求是基于哞球独特的特点:一个无限长的网,必须将其放置为平面中非整数坐标的水平或垂直直线,例如 。FJ 挑选队伍必须使得可以用网将两队分开。奶牛们不愿意为此进行移动。
帮帮农夫吧!为 Farmer John 计算选择满足上述要求的红队和蓝队的方法数,对 取模。
输入格式(从终端 / 标准输入读入):
输入的第一行包含一个整数 。
以下 行每行包含两个空格分隔的整数 和 。输入保证 组成 的一个排列, 类似。
输出格式(输出至终端 / 标准输出):
输出一个整数,为选择满足上述要求的红队和蓝队的方法数,对 取模。
输入样例:
2 1 2 2 1
输出样例:
2
我们可以选择红队为牛 1,蓝队为牛 2,或者相反。无论哪种情况,我们都可以用一个网将两支球队分开(例如,)。
输入样例:
3 1 1 2 2 3 3
输出样例:
10
以下是所有的十种可能的将奶牛分队的方法;第 个字符表示第 头奶牛的队伍,R 表示红队,B 表示蓝队,或 . 表示第 头奶牛不在一个队伍中。
RRB R.B RB. RBB .RB .BR BRR BR. B.R BBR
输入样例:
3 1 1 2 3 3 2
输出样例:
12
以下是所有的十二种可能的将奶牛分队的方法:
RRB R.B RBR RB. RBB .RB .BR BRR BR. BRB B.R BBR
输入样例:
40 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40
输出样例:
441563023
确保输出答案对 取模。
测试点性质: 测试点 5:。测试点 6-9:。测试点 10-13:。测试点 14-24:没有额外限制。
供题:Dhruv Rohatgi