time limit: 1 sec memory limit: 162 mb
submit: 5960 solved: 3251
[submit][status][discuss]
輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子
和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示
n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一的資訊通道,例如共有16個不
同的3輪狀病毒,如下圖所示
現給定n(n<=100),程式設計計算有多少個不同的n輪狀病毒
第一行有1個正整數n
計算出的不同的n輪狀病毒數輸出316
第n項公式f[n]=f[n-1]*3-f[n-2]+2,高精度求即可
#include #define ll long longusing namespace std;
inline int read()
while(isdigit(ch))
return x*f;
}struct bignumans[110],k;
inline bignum operator * (bignum x,int y)
z.len=x.len;
if(z.num[x.len+1]) z.len++;
return z;
}inline void operator += (bignum &x,bignum y)
if(z.num[z.len+1]) z.len++;
x=z;
}inline void operator -= (bignum &x,bignum y)
if(!z.num[x.len]) z.len=x.len-1;
else z.len=x.len;
x=z;
}void print(bignum x)
cout<
}int main()
print(ans[n]);
return 0;
}
FJOI2007 bzoj1002 輪狀病毒
description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示 n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一的資訊通道,例如共有...
BZOJ 1002 FJOI2007 輪狀病毒
1002 fjoi2007 輪狀病毒 time limit 1 sec memory limit 162 mb description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資...
BZOJ1002 FJOI2007 輪狀病毒
標籤 高精度,數學 description 輪狀病毒有很多變種,所有輪狀病毒的變種都是從乙個輪狀基產生的。乙個n輪狀基由圓環上n個不同的基原子 和圓心處乙個核原子構成的,2個原子之間的邊表示這2個原子之間的資訊通道。如下圖所示 n輪狀病毒的產生規律是在乙個n輪狀基中刪去若干條邊,使得各原子之間有唯一...