1. 程式人生 > >【 OJ 】 HDOJ1028 18年11月15日02:00 [ 27 ]

【 OJ 】 HDOJ1028 18年11月15日02:00 [ 27 ]

說實話第一反應是dp,但是看了網上的所有人的解法幾乎一致為母函式,好吧從沒接觸過這個東西

看了母函式的解法....ummm鬼才吧.......說不清道不明,客官自己悟吧

本題已AC

# include<iostream>
using namespace std;
int a[130];//暫定大小
int b[130];
int main(void) {
	int N;
	int i, j, k;
	while (cin >> N) {
		for (i = 0; i <= N; i++) {
			a[i] = 1;
			b[i] = 0;
		}//初始化第一個表示式的每一個係數
		for (i = 2; i <= N; ++i) {//第 i 個表示式
			for (j = 0; j <= N; j++) {// 運算後的每一項
				for (k = 0; k <= N; k += i) {// 第 i  的每一項
					if (j + k > N)
						break;
					b[j + k] = b[j + k] + a[j];//a[j]*1 應該是 j 和係數和 k 的係數相乘
				}
			}
			for (k= 0; k <= N; k++) {
				a[k] = b[k];
				b[k] = 0;
			}
		}
		cout << a[N] << endl;
	}
	system("pause");
	return 0;
}