A問題 The Number of Even Pairs
1 2 3 4 5 |
import math n,m = map(int, input().split()) ans = math.comb(n,2)+math.comb(m,2) print(ans) |
nC2+mC2を実装しようとしたら大苦戦しました。
数学的な内容になると急に難しくなる印象があります。
余談
順列や組み合わせの計算をするためのツールはitertoolsをはじめとしていくつかありますが、何を使うかによっては計算速度に差が出てくるようです。
2個目の参考記事をもとに解答を作ってみたのですが、一部エラーになるケースがありました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
n,m = map(int, input().split()) import math def Combination(n,r): return math.factorial(n)/math.factorial(r)/math.factorial(n-r) a = 0 b = 0 if n > 1: a = int(Combination(n,2)) if m > 1: b = int(Combination(m,2)) print(a+b) |
参考記事
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwUHl0aG9uJUUzJTgwJTkxJUU3JUI1JTg0JUUzJTgxJUJGJUU1JTkwJTg4JUUzJTgyJThGJUUzJTgxJTlCJTI4bkNyJTI5JTIwJUU4JUE4JTg4JUU3JUFFJTk3JUUzJTgxJUFFJUU5JUFCJTk4JUU5JTgwJTlGJUU1JThDJTk2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz03MmQ1OTYxYTQzMDdhNTMxZjE3MzMxMjdhMjk1MTQzOA&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBkZXJvZGVybzI0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04ZGVjYTJkZDI3ZjU2OTgwYTBhMjAyMzhiM2RjZDU2MQ&blend-x=142&blend-y=486&blend-mode=normal&s=602ac620839876bd1ee11667776a3088)
【Python】組み合わせ(nCr) 計算の高速化 - Qiita
* 以下の項目における各手法の評価はあくまで個人的なものです。目次既存ツールを用いた手法1(評価 ☆)既存ツールを用いた手法2(評価 ☆☆)既存ツールを用いた手法3(評価 ☆☆☆)ユーザ定…
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9cHl0aG9uJUUzJTgxJUE3JUU3JUI1JTg0JUUzJTgxJUJGJUU1JTkwJTg4JUUzJTgyJThGJUUzJTgxJTlCJUUzJTgxJUFFJUU3JUI3JThGJUU2JTk1JUIwJUUzJTgyJTkyJUU4JUE4JTg4JUU3JUFFJTk3JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0yMTU3YmVhOTZmNGI0MTVhZjc2M2I4YjlkNjA5OTE2ZQ&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBlZ19pX2VnJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iZjhiZmVkYzRkNDE0OTk4NzFiYzA3ODllOGVlOTU5MA&blend-x=142&blend-y=486&blend-mode=normal&s=ece48d8d0fbfca63b820e67ad3dc05f7)
pythonで組み合わせの総数を計算 - Qiita
#はじめに組み合わせのリストはitertoolを用いるが,総数の計算を求める方法については,検索の上位に出てこず時間がかかったのでここでメモ書きする#Scipyの関数を使う(おすすめ)scip…
コメント