BZOJ 1002([FJOI2007]轮状病毒-基尔霍夫矩阵) (二)

2014-11-24 01:18:32 · 作者: · 浏览: 9
ator-(Highn a,Highn b)
{
Highn c;
c.len=max(a.len,b.len);
For(i,c.len)
{
c.a[i]+=a.a[i]-b.a[i];
if (c.a[i]<0) c.a[i]+=F,c.a[i+1]--;
// c.a[i+1]+=c.a[i]/F;
// c.a[i]%=F;
}
while (!c.a[c.len]) c.len--;
return c;
}

void print()
{
printf("%d",a[len]);
ForD(i,len-1)
{
printf("%04d",a[i]);
}
puts("");
}
}f[MAXN];
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
scanf("%d",&n);
f[1]=1,f[2]=5;
if (n<=2) f[n].print();
else
{
Fork(i,3,n) f[i]=3*f[i-1]-f[i-2]+2;
f[n].print();
}


return 0;
}