hdu 2045 LELE的EPG难题

来源:互联网 发布:鲁大师软件 编辑:程序博客网 时间:2024/05/21 03:19

题解:

  简单递推题,如图:

 

 

从A4开始,分两类讨论:1、A4的第3个与A4的第1个颜色相同  2、第3个与第1个颜色不相同。

第1类情况A4相当于A2*2,这里的2相当于外加另外两种颜色中的一种;第2类情况A4相当于A3,因为首尾颜色不相同,第1个与第3个颜色不同,那么第4个只有1种颜色可以选择。依次类推,可得余下的数据。因为有50个方框,得用long long int 能存储。

  需要注意的是while (scanf("%d", &n) != EOF)不能写成while (scanf("%d", &n)),因为后者可能导致无限循环。

代码如下:

#include <stdio.h>__int64 A[51] = {0, 3, 6, 6};int main(){int i, n;for (i=4; i<51; i++)A[i] = A[i-1] + A[i-2] * 2;while (scanf("%d", &n) != EOF)printf("%I64d\n", A[n]);return 0;}


 

原创粉丝点击