题目
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;
}