zoukankan      html  css  js  c++  java
  • HDOJ-2045

    不容易系列之(3)—— LELE的RPG难题

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 43557    Accepted Submission(s): 17421


    Problem Description
    人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:

    有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.

    以上就是著名的RPG难题.

    如果你是Cole,我想你一定会想尽办法帮助LELE解决这个问题的;如果不是,看在众多漂亮的痛不欲生的Cole女的面子上,你也不会袖手旁观吧?

     
    Input
    输入数据包含多个测试实例,每个测试实例占一行,由一个整数N组成,(0<n<=50)。
     
    Output
    对于每个测试实例,请输出全部的满足要求的涂法,每个实例的输出占一行。
     
    Sample Input
    1
    2
     
    Sample Output
    3
    6
     

    不容易系列之三:

    本题可以先将最后一格看做与其他方格无异,即没有首尾不同色的规定,这时方案个数为3*2^(n-1),我们仅需将首尾相等的情况减去就好了,即a(n) = 3*2^(n - 1) - a(n - 1)

    还有一点需要注意的就是数据大小,Kiven在这被坑了一发。。

    AC代码:

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cmath>
     4 using namespace std;
     5 
     6 const int MAX=60;
     7 long long a[MAX];//注意数据大小 
     8 int n;
     9 
    10 int main(){
    11     a[1]=3;
    12     a[2]=6;
    13     for(int i=3;i<MAX;i++)//从第三项开始符合递推 
    14     a[i]=3*pow(2,i-1)-a[i-1];
    15     while(scanf("%d",&n)!=EOF){
    16         printf("%lld
    ",a[n]);
    17     }
    18     return 0;
    19 } 
  • 相关阅读:
    Linux中Elasticsearch集群部署
    在.net core 项目中添加swagger支持
    ASP.NET Core 类库中取读配置文件
    Redis的服务安装步骤
    Lambda表达式多表连接的左连
    Angular7 学习资料
    Docker在eShopOnContainer项目中的使用方法
    绘图工具
    万能分页存储过程(SQL Server)
    为什么程序开发人员这么累?
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/5475322.html
Copyright © 2011-2022 走看看