写了一下 抖音三面的那个算法题 ``` #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; } ```