斐波那契数列的应用 hdu5914

题意
你有1-n的n条边,让你拿走尽量少的边,使得剩下的边,任意取三个都不能组成三角形。

解题思路
既然让剩下的边不能组成三角形,那就让剩下的边构成斐波那契数列

代码如下

#include
using namespace std;
int f[25];
void Fib()
{
	f[1]=1;
	f[2]=2;
	for(int i=3;i<=20;i++)
	   f[i]=f[i-1]+f[i-2];
}
int main()
{
	int t,n;
	int ans=0,i,k=0;
	Fib();
	cin>>t;
	while(t--)
	{
		k++;
		cout<<"Case #"<>n;
		for(i=1;i<=20;i++)
		{
			if(f[i]<=n)
			   ans++;
		}
		cout<

你可能感兴趣的:(思路)