#P16832. [NWRRC 2022]Joking?
[NWRRC 2022]Joking?
题目描述
Julia 想为 名玩家设计一款新的桌游。游戏开始前,玩家需要决定行动顺序。为了公平,每一种玩家排列都应该以相同概率出现。
Julia 打算制作 个不同的 面骰子,每名玩家使用其中一个骰子。所有玩家各掷一次:点数最小的玩家最先行动,点数第二小的玩家第二个行动,以此类推。
为了避免平局,所有骰子面上出现的数字必须两两不同。
如果要求排列概率完全相同,这会成为一道很漂亮的数学题。不过这是程序设计竞赛,因此允许存在少量误差。你需要构造这些骰子,使任意两个玩家排列出现概率的相对差不超过 。
形式化地,掷出全部 个骰子共有 种等可能结果。对于每个排列 ,记导致该排列的结果数为 。对于任意两个排列 ,必须满足
你可以自行选择 ,但必须满足 。
输入格式
一行包含整数 ,表示玩家数量。
数据范围
输出格式
第一行输出整数 ,表示每个骰子的面数:
接下来 行描述 个骰子。每行输出 个整数,所有整数都必须位于 到 之间,并且所有骰子使用的全部 个整数必须两两不同。
样例 1
2
2
1 4
2 3
样例 2
3
16
3 7 9 10 12 17 18 19 28 32 33 35 38 40 43 48
1 2 6 13 14 20 22 26 27 29 30 36 37 39 44 46
4 5 8 11 15 16 21 23 24 25 31 34 41 42 45 47
样例说明
第一组样例中,两种玩家排列出现的概率均为 。
第二组样例共有
种结果。排列 和 各出现 次,其余排列各出现 次。因此最大与最小概率的相对差为