CodeForces 204A Little Elephant and Interval :计算L到R内有多少数的首尾数字相同:数学思维

转化成1-m里面多少个首尾数字相同数字

对于个位数本身满足

而其他的,注意到对于每一个x,x/10再加上末尾固定的数即满足,所以答案为m/10+9?

最后注意到如果m的个位数<最高位不满足=

 1 #include<stdio.h>
 2 long long fun(long long m)
 3 {
 4     if(m<10) return m;
 5     long long r=m%10,Sum=m/10+9;
 6     while(m>=10) m/=10;
 7     if(m>r) Sum--;
 8     return Sum;
 9 }
10 int main()
11 {
12     long long l,r;
13     scanf("%I64d%I64d",&l,&r) 
14     printf("%I64d\n",fun(r)-fun(l-1));
15     return 0;
16 }

题目链接:http://codeforces.com/contest/204/problem/A

posted on 2015-03-26 22:23  xiao_xin  阅读(326)  评论(0编辑  收藏  举报

导航