标签:http geo 矩阵 span 递推 编程 垃圾 .com pen
啊啊啊啊大丧题!!!
轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子
和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示
N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不
同的3轮状病毒,如下图所示
#include<cstdio> #include<cstring> #define inf 0x3f3f3f3f #define r register #define min(a,b) (a<b?a:b) struct AriM{ int d[101],len; AriM friend operator *(AriM a,int k){ for(r int i=1;i<=a.len;i++)a.d[i]*=k; for(r int i=1;i<=a.len;i++){ a.d[i+1]+=a.d[i]/10; a.d[i]%=10; } if(a.d[a.len+1])a.len++; return a; } AriM friend operator -(AriM a,AriM b){ a.d[1]+=2; for(r int j=1;a.d[j]>=10;a.d[++j]++)a.d[j]%=10; for(r int i=1;i<=a.len;i++){ a.d[i]-=b.d[i]; if(a.d[i]<0)a.d[i]+=10,a.d[i+1]--; } while(!a.d[a.len])a.len--; return a; } }f[101]; int main(){ int n; scanf("%d",&n); f[1].d[1]=1;f[1].len=1; f[2].d[1]=5;f[2].len=1; for(r int i=3;i<=n;i++)f[i]=f[i-1]*3-f[i-2]; for(r int i=f[n].len;i;i--)printf("%d",f[n].d[i]); puts(""); return 0; }
标签:http geo 矩阵 span 递推 编程 垃圾 .com pen
原文地址:http://www.cnblogs.com/Marser/p/7345440.html