UVA 100 dd
查看原帖
UVA 100 dd
524801
不食嗟来之食楼主2022/8/28 08:23
//#include<iostream>
//#include<cstdio>
//#include<cstring>
//#include<cmath>
//#include<algorithm>
//using namespace std;
//int n,m,tot;
//void dg(int i)
//{
//	tot++;
////	printf("%d ",i);
//	if(i==1) 
//	{
////		printf("1");
//		return ;
//	}
//	if(i%2)
//	{
//		dg(i*3+1);
//	}
//	else dg(i/2);	
//	return ;
//}
//int main()
//{
//	n=22;
//	for(int i=1;i<=1000;i++)
//	{
//		printf("%d ",tot);
//		tot=0;
//		dg(i);
//	}
//	return 0;
//}
//#include<iostream>
//#include<cstdio>
//#include<cstring>
//#include<cmath>
//#include<algorithm>
//using namespace std;
//int n,m,tot,v[20005];
//void bfs(int x,int tims)
//{
//	v[x]=tims;
//	if(x*2<=20000&&tims<=v[x*2]) bfs(x*2,tims+1);
//	if((x-1)/3>=1&&tims<=v[(x-1)/3]&&(x-1)%3==0) bfs((x-1)/3,tims+1);
//	return ;
//}
//int main()
//{
//	n=22;
//	memset(v,0x3f3f3f,sizeof(v));
//	bfs(1,1);
//	for(int i=1;i<=n;i++)
//	{
//		printf("%d ",v[i]);
//	}
//	return 0;
//} //40pts
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int l,r,n,m,tot,v[30005];
int dg(int i)
{
	if(v[i]) 
	{
		return v[i];
	}
	if(i%2&&i*3+1<=30000)
	{
		return v[i]=dg(i*3+1)+1;
	}
	else return v[i]=dg(i/2)+1;
}
int main()
{
	v[1]=1;
	for(int i=1;i<=1000;i++) dg(i);
	for(int i=1;i<=1000;i++)
	{
//		printf("%d ",v[i]);
	}
	while(cin>>l>>r)
	{
		int ans=0;
		while(l<=r)
		{
			ans=max(ans,v[l]);
			l++;
		}
		printf("%d\n",ans);
	}
	return 0;
}

2022/8/28 08:23
加载中...