蒟蒻我关系式没有找出来。
直接模拟递推过程好了。
代码
#include <cstdio> #define N 21 int a, n, m, x, y; int up[N][2], down[N][2], tot[N][2]; int main() { int i; scanf("%d %d %d %d", &a, &n, &m, &x); up[1][0] = up[2][1] = down[2][1] = tot[1][0] = tot[2][0] = 1; for(i = 3; i <= n; i++) { up[i][0] = up[i - 1][0] + up[i - 2][0]; up[i][1] = up[i - 1][1] + up[i - 2][1]; down[i][0] = up[i - 1][0]; down[i][1] = up[i - 1][1]; tot[i][0] = tot[i - 1][0] + up[i][0] - down[i][0]; tot[i][1] = tot[i - 1][1] + up[i][1] - down[i][1]; } m -= a * tot[n - 1][0]; y = m / tot[n - 1][1]; printf("%d ", tot[x][0] * a + tot[x][1] * y); return 0; }