网站建设如何查看后台数据库,wordpress导购,西安网站制作价格,国内大型的网站建设不要62 HDU - 2089 杭州人称那些傻乎乎粘嗒嗒的人为62#xff08;音#xff1a;laoer#xff09;。 杭州交通管理局经常会扩充一些的士车牌照#xff0c;新近出来一个好消息#xff0c;以后上牌照#xff0c;不再含有不吉利的数字了#xff0c;这样一来#xff0c;就可…不要62 HDU - 2089 杭州人称那些傻乎乎粘嗒嗒的人为62音laoer。 杭州交通管理局经常会扩充一些的士车牌照新近出来一个好消息以后上牌照不再含有不吉利的数字了这样一来就可以消除个别的士司机和乘客的心理障碍更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如 62315 73418 88914 都属于不吉利号码。但是61152虽然含有6和2但不是62连号所以不属于不吉利数字之列。 你的任务是对于每次给出的一个牌照区间号推断出交管局今次又要实际上给多少辆新的士车上牌照了。 Input 输入的都是整数对n、m0n≤m1000000如果遇到都是0的整数对则输入结束。 Output 对于每个整数对输出一个不含有不吉利数字的统计个数该数值占一行位置。 Sample Input 1 100 0 0 Sample Output 80
解题思路 与HDU3555思路完全一致只不过不用考虑4其他的一模一样。
代码
#include cstdio
#include iostream
#include algorithm
#include cmath
#include cstdlib
#include cstring
#include map
#include stack
#include queue
#include vector
#include bitset
#include set
#include utility
#include sstream
#include iomanip
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define inf 0x3f3f3f3f
#define rep(i,l,r) for(int il;ir;i)
#define lep(i,l,r) for(int il;ir;i--)
#define ms(arr) memset(arr,0,sizeof(arr))
//priority_queueint,vectorint ,greaterint q;
const int maxn (int)1e5 5;
const ll mod 1e97;
ll dp[25][2];
ll digit[25];
ll dfs(int len,bool is6,bool is4,bool limit) {if(len0) {if(is4) return 0;else return 1;}if(!limitdp[len][is6]) return dp[len][is6];ll nape0;int up_bound(limit?digit[len]:9);for(int i0;iup_bound;i) {if(is6i2) continue;if(i4) continue;napedfs(len-1,i6,i4,limitiup_bound);}if(!limit) dp[len][is6]nape;return nape;
}
ll sovle(ll num) {int k0;while(num) {digit[k]num%10;numnum/10;}return dfs(k,false,false,true);
}
int main()
{#ifndef ONLINE_JUDGE//freopen(in.txt, r, stdin);#endif//freopen(out.txt, w, stdout);//ios::sync_with_stdio(0),cin.tie(0);ll l,r;while(scanf(%lld %lld,l,r)(lr)) {ms(dp);lsovle(l-1);rsovle(r);printf(%lld\n,r-l);}return 0;
}