网站的footer怎么做,做网站公司怎么做,杭州seo代理公司,wordpress图床网站杭州人称那些傻乎乎粘嗒嗒的人为62#xff08;音#xff1a;laoer#xff09;。 杭州交通管理局经常会扩充一些的士车牌照#xff0c;新近出来一个好消息#xff0c;以后上牌照#xff0c;不再含有不吉利的数字了#xff0c;这样一来#xff0c;就可以消除个别的士司机…杭州人称那些傻乎乎粘嗒嗒的人为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 由于数据比较水 所以有以下三种不同的A题姿势 迭代dp #includebits/stdc.h
using namespace std;
int f[10][10];
void init()
{f[0][0]1;for(int i1;i7;i){//lenfor(int j0;j9;j){// staif(j4)f[i][j]0;elsefor(int k0;k10;k)//link{if(k4||(k2j6))continue;f[i][j]f[i-1][k];}}}
}
int pos[10];
int solve(int x)
{int c0,ccx;while(cc){pos[c]cc%10;cc/10;} int ans0;pos[c1]0; for(int ic;i1;i--){// 从 最高位向低位枚举 比较方便排除62情况 for(int j0;jpos[i];j)// 要到pos[i] 因为我们不要pos[i]的 那是全部情况 我们要小于有边界的数据 if(pos[i1]6j2)continue;else ansf[i][j];if(pos[i]4||(pos[i1]6pos[i]2))break;} return ans;
}
int main()
{int n,m;ios::sync_with_stdio(0);init();while(cinnm,n||m){cout solve(m1) - solve(n) endl; }return 0;
} 数位dp #includebits/stdc.h
using namespace std;
typedef long long ll;
int dp[11][2],pos[10];
int dfs(int len,int s,int e)
{if(len0)return 1;if(!edp[len][s]!-1)return dp[len][s];int ans0,u e1?pos[len]:9;for(int i0;iu;i){if(i4||(si2))continue;ansdfs(len-1,i6,eiu);}return e1?ans:dp[len][s]ans;
}
int solve(int x)
{int c0,ccx;while(cc){pos[c]cc%10;cc/10;}return dfs(c,false,true);
}
int main()
{int n,m;ios::sync_with_stdio(0);while(cinnm,n||m){memset(dp,-1,sizeof(dp));coutsolve(m)-solve(n-1)endl; }return 0;
} 还有招暴力 #includestdio.h
int a[1000001]{0};
int zhao(int n)
{while(n){if(n%104||n%10062)return 0;n/10;} return 1;
}
int main()
{int n,m,i;for(i1;i1000001;i)a[i]a[i-1]zhao(i); while(~scanf(%d%d,n,m)){if(n0m0)break;printf(%d\n,a[m]-a[n-1]);}return 0;
}