UVA 1646圈图的匹配
题意
n(3<=n<=10000)个节点组成一个圈,求匹配(即没有公共点的边集)的个数。例如,n=4时有7个,n=100时有792070839848372253127个。题解
此题为找规律题,动手画图枚举,当n=5时有11个,n=6时有18个,可以发现,答案为一个斐波拉契数列,数据很大,使用python实现大数即可。- 代码
if __name__ == '__main__':
a=[0 for x in range(0,10010)]
a[3]=4
a[4]=7
for i in range(5,10001):
a[i]=int(a[i-1]+a[i-2])
while True:
try:
n = int(input())
print(a[n])
except:
break