ITP1 7B 組み合わせの数

この記事で使うアルゴリズム

全探索

はじめに

カテゴリー競プロ初中級者100問では、Qiitaにて@e869120さんがレッドコーダーが教える、競プロ・AtCoder上達のガイドライン【中級編:目指せ水色コーダー!】としてまとめられている100問をPythonで解いています。

全問題の一覧はこちらです

問題

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_7_B&lang=ja

この問題は全探索を用いて解くことができます。

ポイント

Pythonで組み合わせを列挙する場合は、combinationsを用いると良いです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from itertools import combinations
nx = []
while(1):
n, x = map(int,input().split())
if n==0 and x==0:
break
nx.append((n,x))

for n,x in nx:
cnt = 0
for c in list(combinations(range(1,n+1),3)):
if sum(c)==x:
cnt += 1
print (cnt)

記事情報

  • 投稿日:2020年5月8日
  • 最終更新日:2020年5月10日