Untitled
unknown
plain_text
5 months ago
1.1 kB
2
Indexable
//13690 - Bad Fibonacci's soup #include <stdio.h> #include <stdlib.h> int f(int, int, int, int, int); int g(int, int, int, int, int); int ansf[105] = {0}, ansg[105] = {0}; int main(void) { int a, b, c, d, n; scanf("%d %d %d %d %d", &a, &b, &c, &d, &n); printf("%d %d\n", f(a, b, c, d, n), g(a, b, c, d, n)); return 0; } int f(int a, int b, int c, int d, int n) { if(n == 0){ return a;//直接return 就可以了 } if(n == 1){ return b;//直接return 就可以了 } if(n%3 == 0) ansf[n] = f(a, b, c, d, n-1) + g(a, b, c, d, f(a, b, c, d, (n/3)%n)); else ansf[n] = f(a, b, c, d, n-1) + g(a, b, c, d, n-2); return ansf[n]; } int g(int a, int b, int c, int d, int n) { if(n == 0){ return c;//直接return 就可以了 } if(n == 1){ return d;//直接return 就可以了 } if(n%5 == 0) ansg[n] = g(a, b, c, d, n-1) + f(a, b, c, d, g(a, b, c, d, (n/5)%n)); else ansg[n] = g(a, b, c, d, n-1) + f(a, b, c, d, n-2); return ansg[n]; }
Editor is loading...
Leave a Comment