C - 不要62 **

杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。

杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。

不吉利的数字为所有含有4或62的号码。例如:

62315 73418 88914

都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所以不属于不吉利数字之列。

你的任务是,对于每次给出的一个牌照区间号,推断出交管局今次又要实际上给多少辆新的士车上牌照了。

Input**

输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。

Output

对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。

Sample Input

1 100

0 0

Sample Output

80

运行代码

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int dp[10][10];
int a[10];
int f(int m)
{
int x=0, y=0;
while(m)
{
y++;
a[y] = m % 10;
m = m / 10;
}
a[y+1] = 0;
for(int i=y; i>=1; i--)
{
for(int j=0; j<a[i]; j++)
if(a[i+1]!=6 || j!=2)
x = dp[i][j] + x;
if(a[i]==4 || (a[i+1]==6 && a[i]==2)) break;
}
return x;
} int main()
{
int n, m;
dp[0][0] = 1;
for(int i = 1; i <= 7; ++i)
for(int j = 0; j <= 9; ++j)
for(int k = 0; k <= 9; ++k)
if(!(j==6 && k==2) && j!=4)
dp[i][j] += dp[i-1][k];
while(scanf("%d %d", &n, &m))
{
if(n==0 && m==0) break;
printf("%d\n", f(m+1) - f(n));
}
return 0;
}

代码理解

经过思考这个问题首要想到的是对输入的字符串进行分割然后存入数组,既123456分割成“1”“2”等等,进行储存,最好使用动态数组或空间小的动态数组,避免开的数组太多占用太多内存。存入数据后则进行判断,一次判断两位,若出现4或者62则跳过进行下一次运行,若两位判断不出4或者62则删除一位再次进行两位判断。直到最后所有判断完毕得出判断不含有4或者62的次数。

#C++初学记录(算法3)的更多相关文章

  1. #C++初学记录(算法4)

    A - Serval and Bus It is raining heavily. But this is the first day for Serval, who just became 3 ye ...

  2. #C++初学记录(贪心算法#结构体#贪心算法)

    贪心算法#结构体 Problem Description "今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋 ...

  3. #C++初学记录(算法效率与度量)

    时间性能 算法复杂性函数: \[ f(n)=n^2 +1000n+\log_{10}n+1000 \] 当n的数据规模逐渐增大时,f(n)的增长趋势: 当n增大到一定值以后,计算公式中影响最大的就是n ...

  4. #C++初学记录(贪心算法#二分查找)

    D - Aggressive cows 农夫 John 建造了一座很长的畜栏,它包括N (2 <= N <= 100,000)个隔间,这些小隔间依次编号为x1,...,xN (0 < ...

  5. #C++初学记录(算法考试1)

    B - Maximal Continuous Rest Each day in Berland consists of n hours. Polycarp likes time management. ...

  6. #C++初学记录(算法2)

    A - Game 23 Polycarp plays "Game 23". Initially he has a number n and his goal is to trans ...

  7. #C++初学记录(算法测试2019/5/5)(深度搜索)

    深度搜索:Oil Deposits GeoSurvComp地质调查公司负责探测地下石油储藏. GeoSurvComp现在在一块矩形区域探测石油,并把这个大区域分成了很多小块.他们通过专业设备,来分析每 ...

  8. #C++初学记录(sort函数)

    sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...

  9. #C++初学记录(动态规划(dynamic programming)例题1 钞票)

    浅入动态规划 dynamic programming is a method for solving a complex problem by breaking it down into a coll ...

随机推荐

  1. Word 2013无法启用Restrict Editing解决方法

    当前文档可能是Mail Merge Letter type document,MAILINGS -> Start Mail Merge -> Normal Word Document保存即 ...

  2. iOS 通过(lame)将录制音频转换成Mp3

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处,保留原帖地址及作者署名. Url:http://blog.csdn.net/ysy441088327/article/detail ...

  3. yii---进行接受参数

    GET接受参数: Yii::$app->request->get($key, $default):第一个参数($key)为用户get请求的key,第一个参数选填:第二个参数($defaul ...

  4. Spark2 Linear Regression线性回归

    回归正则化方法(Lasso,Ridge和ElasticNet)在高维和数据集变量之间多重共线性情况下运行良好. 数学上,ElasticNet被定义为L1和L2正则化项的凸组合: 通过适当设置α,Ela ...

  5. 浅析JSONP

    什么是JSONP? JSONP是JSON with Padding的略称.它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式 ...

  6. WCF的简单使用

    WCF简单介绍 WCF(windows communication foundation)是微软推出的数据通信的统一编程模型,在WCF有四个主要的关键点: abcd Address(地址):定义服务的 ...

  7. 数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)

    https://blog.csdn.net/fuqiuai/article/details/79456971 相关文章: 数据挖掘领域十大经典算法之—K-Means算法(超详细附代码)        ...

  8. 蔡勒(Zeller)公式--黑色星期五

    求某年某月某日是周几; 蔡勒(Zeller)公式: w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 ;y是年的后两位:c是世纪数-1(年的前两位):m是月份,大于等于3,小于等 ...

  9. vue 中 命名视图的用法

    今天主要记录  vue中命名视图的用法 先奉上官网网址:https://router.vuejs.org/zh/guide/essentials/named-views.html 一般情况下,一个页面 ...

  10. hash专题学习笔记QAQ

    开始说要我给hash写一个专题的时候我是拒绝的,,,我本来想着就把它放到那个考前续命里存个模板就好了 突然想起来之前好像是在蓝书上看到过关于hash的专题?也还有两三道题呢,而且这种思想还是很有意义的 ...