zoukankan      html  css  js  c++  java
  • BZOJ 1002--[FJOI2007]轮状病毒(高精度)

    1002: [FJOI2007]轮状病毒

    Time Limit: 1 Sec  Memory Limit: 162 MB
    Submit: 6858  Solved: 3745
    [Submit][Status][Discuss]

    Description

      轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示

      N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示

      现给定n(N<=100),编程计算有多少个不同的n轮状病毒

    Input

      第一行有1个正整数n

    Output

      计算出的不同的n轮状病毒数输出

    Sample Input

    3

    Sample Output

    16

    题目链接:

        http://www.lydsy.com/JudgeOnline/problem.php?id=1002 

    Solution

      f[i]=(f[i-1]*3-f[i-2]+2)

      然而我也不会推,只会摸鱼。。

    代码

    #include<iostream>
    #include<cstdio>
    #define LL long long
    using namespace std;
    int n;
    int b[50],c[50],e[100];
    void jia(){
        int tmp=0;
        for(int i=0;i<50;i++){
            e[i]=c[i];
            c[i]=b[i]+c[i]+tmp;
            tmp=0;
            if(c[i]>9){tmp=c[i]/10;c[i]=c[i]%10;}
            b[i]=e[i];
        }
    }
    void cheng(){
        int tmp=0,f;
        for(int i=0;i<=50;i++)e[i]=0;
        for(int i=0;i<30;i++){
            for(int j=0;j<30;j++)
                e[i+j]+=b[i]*b[j];
            for(int j=0;j<=48;j++){
                e[j]+=tmp;
                tmp=0;
                if(e[j]>9){tmp=e[j]/10;e[j]=e[j]%10;}
            }
        }
    } 
    void jian(){
        e[0]-=4;
        for(int i=0;i<=48;i++){
            if(e[i]>=0)break;
            e[i]+=10;e[i+1]-=1;
        }
    }
    int main(){
        int f;
        b[0]=1;c[0]=3;
        scanf("%d",&n);
        for(int i=2;i<=n;i++) jia();
        cheng();
        if(n%2==0)jian();
        f=0;
        for(int i=49;i>=0;i--){
            if(e[i]>0) f=1;
            if(f==1) printf("%d",e[i]);
        }
        return 0;
    }
    

      

      

    This passage is made by Iscream-2001.

  • 相关阅读:
    java例题 汽油检测
    java常用api
    二分搜索法
    java例题
    java基础
    表单验证
    4.10 pm例题
    0805
    0731 框架Mybatis
    小结
  • 原文地址:https://www.cnblogs.com/Yuigahama/p/9648213.html
Copyright © 2011-2022 走看看