题意:有一个萌妹纸 分不清 1 和 4 (人家卡哇伊一点理解么), 给你一个n, 有多少个每位相加的和等n的数,(人家特萌只喜欢1,2, 3, 4)
解法:简单DP dp[n] = dp[n-1] * 2 + dp[n-2] + dp[n-3];
连接:点击打开链接 其实你可以ac它的
代码君神马滴最有爱了:
import java.util.Scanner;
import java.math.*;
import java.text.*;
import java.io.*;
public class Main {
public static void main(String args[]) {
BigInteger num[];
num = new BigInteger[1024];
num[1] = new BigInteger("2");
num[2] = new BigInteger("5");
num[3] = new BigInteger("13");
for (int i = 4; i <= 1000; i++){
BigInteger ans = num[i-1].add(num[i-1]);
ans = ans.add(num[i-2]);
ans = ans.add(num[i-3]);
num[i] = ans;
}
Scanner cin = new Scanner(System.in);
int n;
while (cin.hasNext()){
n = cin.nextInt();
System.out.println(num[n]);
}
}
}