ybtoj 递推 B. 2.求 f 函数
题面
解题思路
虽然还是不知道递推是啥,但是应该和DP差不多吧
先把1到100的 f() 求出来,100以后的直接算就可以了
Code
#include <bits/stdc++.h>
using namespace std;
int f[200], n, p1, p2;
void init() { //f( f(x + 11) )
for(int i = 100; i; i --) {
p1 = i + 11; //p2 算 f(x + 11)
if(p1 > 100) p2 = p1 - 10;
else p2 = f[p1];
if(p2 > 100) f[i] = p2 - 10;
else f[i] = f[p2]; //f 算 f(p2) 即 f( f(x + 11) )
}
}
int main() {
init();
scanf("%d", &n);
while(n) {
if(n > 100) printf("%d\n", n - 10);
else printf("%d\n", f[n]);
scanf("%d", &n);
}
}