写了一下 抖音三面的那个算法题 ``` #include <bits/stdc++.h> using namespace std; int dp[40][10]; int next(int k) { return (k + 10) % 10; } // 第n次选择,当前在的位置是9 int dfs(int n, int cur) { if (n == 0) { return cur == 0 ? 1 : 0; } if (dp[n][cur] != -1) { return dp[n][cur]; } int x1 = dfs(n-1, next(cur-1)); int x2 = dfs(n-1, next(cur+1)); return dp[n][cur] = x1 + x2; } int main() { memset(dp, -1, sizeof(dp)); for (int i=1; i<=10; i++) { printf("%d %d\n", i, dfs(i, 0)); } return 0; } ```
1 3

相关推荐

01-16 10:30
已编辑
华南师范大学 Java
点赞 评论 收藏
分享
牛客网
牛客企业服务