Problem Description
一把钥匙有N个槽,2<N<26槽深为1,2,3,4,5,6。每钥匙至少有3个不同的深度且相连的槽其深度之差不得为5。求这样的钥匙的总数。
Input
本题无输入
Output
对2<N<26,输出满足要求的钥匙的总数。
Sample Output
N=3: 104 N=4: 904 N=5: 5880 . . . . . N=25: 8310566473196300280
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
__int64 a[26],num[3],t=16;
int i,n,m;
a[3]=104;
for(i=4;i<26;i++)
{
num[1]=a[i-1];
num[2]=a[i-1]-t;
num[1]+=9*((__int64)pow(2,i-1)-2);
num[2]+=4*((__int64)pow(2,i-2)-1)+6*((__int64)pow(2,i-1)-2);
a[i]=4*num[1]+2*num[2];
t=num[2];
}
for(i=3;i<26;i++)
{ cout<<"N="<<i<<": ";
printf("%I64d\n",a[i]);
}
return 0;
}