1

这个题用了个比较经典的结论。
我门其实只需要得到每堆的最下面一张就够了。
做一个有13个顶点的图,一个顶点代表一堆,堆i到堆j有一条有向边iff堆i的最后一
张是j。但不考虑从13堆出发的边。
如果这个有向图构成一个以13堆为root的有向树tree,则是可以胜利的。

其中用到如下著名结论:都是有向图
1。考虑一个eular图的一条eular回路,任取一个为起点R,考虑其他点V!=R,令e(V)表
示eular回路中最后一条离开V的边,则所有这些边构成一个以R为root的有向树。

2。一个连通eular图,以任意一点为root,找一个有向的spanning tree。则我们从ro
ot出发,我们可以走任何一条我们没走过的且不在spanning tree中的边。如果没有这
样的边,我门才允许走spanning tree中的边,这样我们会得到一条eular回路,也就是
说我门不会卡在某个点上没边走。

以上2个结论证明起来也不难,经典的graph theory的书里都有,如modern graph t
heory,bollobas。

-------------

2

我们对任意一个初始的牌的情况,定义这样一个序列:
假设player可以cheat,就是说当在某步无牌可拿时,可以翻开当前还有没翻过的牌
的序号最大的堆的堆顶的牌,然后继续原来的过程。我们定义的序列(长为52)就是
按这个过程取走所有52张牌,取的牌的顺序。
则一个初始牌的分布唯一对应一个这个player翻开牌的先后序列(52张)
而任意一个52张牌序列也可以重构一个初始的牌的分布。

而player赢当且仅当他翻开拍的序列的最后一张是K.

这样就很容易得出概率为1/13了。