Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Sum of Integers II"
https://onlinejudge.u-aizu.ac.jp/problems/0097
・整数の和 II
僕が作成、提出したコードは、以下のとおりです。
・Aizu Online Judge in C++ #Volume0 - 0097 : Sum of Integers II
/* Aizu Online Judge in C++ #Volume0 - 0097 : Sum of Integers II https://onlinejudge.u-aizu.ac.jp/problems/0097 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; ll dp[10][1024]; int main(void){ dp[0][0]=1; for(ll i=0;i<=100;i++){ for(ll j=9;j--;){ for(ll k=0;k+i<=1000;k++){ dp[j+1][k+i]+=dp[j][k]; } } } ll n,s; while(cin>>n>>s,n||s){ cout<<dp[n][s]<<endl; } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/