hdu 2089 不要62

#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

int dp[10][3];

int DP(int x)
{
	bool flag = false;
	int s[15];
	int idx = 0, sum = x, ans = 0;
	for(; x; x /= 10)
		s[++idx] = x % 10;
	s[idx+1] = 0;
	for(int i = idx; i > 0; --i)
	{
		ans += dp[i-1][2] * s[i];//表示i位以后出现了不吉利数字,那么以s[i]为首位的不吉利数就为ans += dp[i-1][2]*s[i]
		if(flag)
			ans += dp[i-1][0]*s[i];//之前出现不吉利的数字
		else
		{
			if(s[i] > 4)
				ans += dp[i-1][0];
			if(s[i] > 6)
				ans += dp[i-1][1];
			if(s[i+1] == 6 && s[i] > 2)
				ans += dp[i][1];
		}
		if(s[i] == 4 || (s[i+1] == 6 && s[i] == 2))
			flag = true;
	}
	return sum - ans;//所有的数减去不吉利的数
}

int main()
{
	int a, b;
	memset(dp, 0, sizeof(dp));
	dp[0][0] = 1;//预处理,算出所有可能
	for(int i = 1; i <= 8; ++i)
	{
		dp[i][0] = dp[i-1][0]*9 - dp[i-1][1];//在不含不吉利数的末位分别补除了4的9个数字,减去在6后面补2的个数
		dp[i][1] = dp[i-1][0];//在不含不吉利数在末位补6
		dp[i][2] = dp[i-1][2]*10 + dp[i-1][1] + dp[i-1][0];//各种出现不吉利数的情况
	}
	while(cin>>a>>b)
	{
		if(a+b == 0)
			break;
		cout<<DP(b+1) - DP(a)<<endl;
	}
	return 0;
}

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值