题目
DP代码
#include <bits/stdc++.h>
using namespace std;
int f[35][100];
int sum;
int main()
{f[0][0] = 1;for (int i = 1; i <= 30; i++){for (int j = 0; j <= 90; j++){f[i][0] += f[i - 1][j];if (j + 10 <= 90)f[i][j + 10] = f[i - 1][j];}sum += f[i][70];}cout << sum;
}
DFS代码
#include <bits/stdc++.h>
using namespace std;
int sum;
void dfs(int i, int s)
{if (s == 70)sum++;if (i > 30 || s > 90)return;dfs(i + 1, 0);dfs(i + 1, s + 10);
}
int main()
{dfs(1, 0);cout << sum;
}