B. Grandfather Dovlet’s calculator
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Once Max found an electronic calculator from his grandfather Dovlet's chest. He noticed that the numbers were written with seven-segment indicators (https://en.wikipedia.org/wiki/Seven-segment_display).
Max starts to type all the values from a to b. After typing each number Max resets the calculator. Find the total number of segments printed on the calculator.
For example if a = 1 and b = 3 then at first the calculator will print 2 segments, then — 5 segments and at last it will print 5 segments. So the total number of printed segments is 12.
Input
The only line contains two integers a, b (1 ≤ a ≤ b ≤ 106) — the first and the last number typed by Max.
Output
Print the only integer a — the total number of printed segments.
Sample test(s)
input
1 3
output
12
input
10 15
output
39
思路:
这题就是问你从a到b的数字的黑色杠有多少条。
AC代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#include<vector>
#include<cstdio>
#include<cmath>
#include<set>
using namespace std;
#define CRL(a) memset(a,0,sizeof(a))
typedef unsigned __int64 LL;
typedef __int64 ll;
const int T = 100010;
const int mod = 1000000007;
int v[15]={6,2,5,5,4,5,6,3,7,6};
int main()
{
#ifdef zsc
freopen("input.txt","r",stdin);
#endif
int n,m,i,j,k;
ll sum;
while(~scanf("%d%d",&n,&m))
{
sum = 0;
for(i=n;i<=m;++i){
int tmp = i;
while(tmp)
{
sum+=v[tmp%10];
tmp/=10;
}
}
printf("%I64d\n",sum);
}
return 0;
}