Description

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

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

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

Input

  第一行有1个正整数n

Output

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

基尔霍夫矩阵(啥...) 递推式f(i)=f(i-1)*3-f(i-2)+2

 #include<iostream>
 #include<cstring>
 #include<cstdio>
 using namespace std;
 ;
 int f1[maxn],f2[maxn];
 void add(int* a,int *b,int* c){
   memset(c,,sizeof(c));
   ;
   ;i<maxn;i++){
     c[i]=a[i]+b[i]+x;
     x=c[i]/;c[i]%=;
   }
 }
 void del(int *a,int *b,int *c){//保证a>b
   memset(c,,sizeof(c));
   ;i<maxn;i++){
     if(a[i]<b[i]){
       a[i]+=;
       a[i+]--;
     }
     c[i]=a[i]-b[i];
   }
 }
 void g(){
   int t1[maxn],t2[maxn],t3[maxn],t4[maxn],t5[maxn];
   memset(t4,,]=;
   add(f1,f1,t1),add(t1,f1,t2);
   del(t2,f2,t3);add(t3,t4,t5);
   ;i<maxn;i++) f2[i]=f1[i],f1[i]=t5[i];
 }
 void printAns(){
   ;i>=;i--){
     ) continue;
     ;j--){
       printf("%d",f1[j]);
     }break;
   }
 }
 void init(){
   memset(f1,,sizeof(f1));
   memset(f2,,sizeof(f2));
   f1[]=,f2[]=;
 }
 int main()
 {
   init();
   int p;scanf("%d",&p);
   ;i<p-;i++) g();
   printAns();
   ;
 }

//高精写的太丑了...然而这还是调了半天才对...

From Linux

最新文章

  1. Mysql性能优化一
  2. 【转载】Windows下VSCode编译调试c/c++
  3. C#中获得机器的字符编码webName信息
  4. npm ERR publish 403,nodejs发布包流程
  5. 用github pages展示你的静态网页,多项目支持
  6. 《编写高质量代码-Web前端开发修改之道》笔记--第三章 高质量的HTML
  7. MFC对话框应用程序添加自定义消息
  8. USB通讯协议 &amp;&amp; 数据传输
  9. Lottie安卓开源动画库使用
  10. Linux-Nand Flash驱动(分析MTD层并制作NAND驱动)
  11. Time模块和datetime模块
  12. JavaScript使用点滴
  13. TopShelf安装多实例
  14. matlab简介 基本操作
  15. Oracle语言环境变量配置
  16. mysql的in和not in的用法(特别注意not in结果集中不能有null)
  17. 包--json 与 pickle 模块
  18. SQL语句添加删除修改字段[sql server 2000/2005]
  19. PHP-系统流程
  20. MySQL 密码设置

热门文章

  1. [Issue]repo/repo init-解决同步源码Cannot get http://gerrit.googlesource.com/git-repo/clone.bundle
  2. 安装配置Oracle数据库时的一些处理思路
  3. 黄聪:MySql Host is blocked because of many connection errors; unblock with &#39;mysqladmin flush-hosts&#39; 解决方法(转)
  4. javascript 异步编程-setTimeout
  5. android 通知
  6. Codeforces Round #364 (Div. 2) Cards
  7. 通过 HTTP 头进行 SQL 注入
  8. js中如何操作json数据
  9. list,set,map,数组之间的相互转换详细解析
  10. 【转】Python处理HTML转义字符