思路:总共就46个特殊的数字,每个带进区间计算就可以了。
注意处理一下偶数的情况就ok。
比赛的时候漏了一个一百一十一万一千一百一十一,wa到比赛结束,醉了。
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 111, 222, 333, 444, 555, 666, 777, 888, 999, 1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999, 11111, 22222, 33333, 44444, 55555, 66666, 77777, 88888, 99999, 111111, 222222, 333333, 444444, 555555, 666666, 777777, 888888, 999999,1111111 };
int main()
{
int x, y;
while (~scanf("%d%d", &x, &y))
{
int ans = 0;
int ans2 = 0;
for (int i = 0; i <=45; i++)
{
int mid = a[i] >> 1;
if (mid>y)
break;
if (mid < x)
continue;
ans += (y - mid);
int xx = x - a[i] + y;
if (xx>0)
ans -= xx;
if ((a[i] & 1) == 0)
ans++;
}
printf("%d\n", ans);
}
}