Untitled
unknown
plain_text
a year ago
1.1 kB
15
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