题目链接:
Problem 116 Red, green or blue tiles
Problem 117 Red, green and blue tiles
通过人数:
NO.116 6169
NO.117 5683
题目分析:
这两道题都是典型的动态规划题目,都是比较简单的,内容关联比较大,就放在一起了。
解题过程(代码仅供参考,因为偷懒,代码风格什么的实在不好意思...):
【动态规划的状态转移方程比较简单,就不做过多说明了,只粘贴代码。】
//No.116
int p116 ()
{
long long int a[100]={0};
long long int b[100]={0};
long long int c[100]={0};
a[1]=1;a[2]=2;
b[1]=1;b[2]=1;b[3]=2;
c[1]=1;c[2]=1;c[3]=1;c[4]=2;
for (int i=3;i<=50;i++)
a[i]=a[i-1]+a[i-2];
for (int i=4;i<=50;i++)
b[i]=b[i-1]+b[i-3];
for (int i=5;i<=50;i++)
c[i]=c[i-1]+c[i-4];
long long int ans=a[50]+b[50]+c[50];
return 0;
}
//No.117
int p117 ()
{
long long int a[100]={0};
a[1]=1;a[2]=2;a[3]=4;a[4]=8;
for (int i=5;i<=50;i++)
a[i]=a[i-1]+a[i-2]+a[i-3]+a[i-4];
long long int ans=a[50];
return 0;
}
以上只是我做题时的解法。
如果有更好的解法、更好的思路,欢迎评论讨论~O(∩_∩)O~