1 から 100 の番号が付いた 100 個の頂点について, pep...pner さんが素直ならば頂点 n を白で塗り, pep...pner さんが照れ屋さんならば頂点 n を黒で塗る. さらに, 頂点 n から頂点 an へ有向辺を張ったグラフを考える. このグラフにおいて, どの辺も両端の頂点の色は異なり, どの頂点もただ一つの 2 より大きな偶数個の頂点からなる閉路に含まれている. したがって, 特に白い頂点の数と黒い頂点の数は等しいことに注意する.
補題. 白い頂点 W1,W2,…,Wn と黒い頂点 B1,B2,…,Bn がある. このとき, これらの頂点の間に 2n 本の有向辺を張る方法であって, どの辺も両端の頂点の色は異なり, どの頂点もただ一つの偶数個の頂点からなる閉路に含まれているものは, (n!)2 通りある.
証明. Wi から出る辺の行き先を Bpi, Bi から出る辺の行き先を Wqi とすると,
p1,p2,…,pn と q1,q2,…,qn はそれぞれ 1,2,…,n の置換である.
また, 異なるグラフについて異なる置換が得られる.
逆に, p1,p2,…,pn と q1,q2,…,qn をそれぞれ 1,2,…,n の置換とすると,
Wi→Bpi, Bi→Wqi と辺を張ることで, 条件をみたすグラフとなる.
したがって, 条件をみたすグラフと置換 {pi},{qi} の組は一対一対応するから, 示された.
以下, m を求めるため, 頂点の色を固定し, 包除原理を用いる.
黒と白の頂点 1 つずつからなる閉路 k 個の選び方は (50Ck)2k! 通りであるから
m=100C50×k=0∑50(−1)k(50Ck)2k!((50−k)!)2=100!×k=0∑50k!(−1)k
を得る. 従って, それぞれの素数について計算することで求める答えは 50+26+12+10=98 である.
解説YouTubeが存在しません.