2014辽宁省赛 Repeat Number

2014-11-24 13:20:14 · 作者: · 浏览: 28

问题 C: Repeat Number

时间限制: 1 Sec 内存限制: 128 MB
提交: 23 解决: 7
[提交][状态][论坛]

题目描述

Definition: a+b = c, if all the digits of c are same ( c is more than ten),then we call a and b are Repeat Number. My question is How many Repeat Numbers in [x,y].

输入

There are several test cases.

Each test cases contains two integers x, y(1<=x<=y<=1,000,000) described above.

Proceed to the end of file.

输出

For each test output the number of couple of Repeat Number in one line.

样例输入

1 10 10 12

样例输出

5 2

提示

If a equals b, we can call a, b are Repeat Numbers too, and a is the Repeat Numbers for itself.

这道题,我是暴力加二分过的,枚举c的可能值即可。然后求中间点与边界差的最小值即可


#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; vector
        
          G; void init() { int k=1; for(int i=0;i<6;i++) { k=k*10+1; for(int j=1;j<=9;j++) G.push_back(k*j); } } int main() { int x,y; init(); while(cin>>x>>y) { int p=lower_bound(G.begin(),G.end(),2*x)-G.begin(); int q=lower_bound(G.begin(),G.end(),2*y)-G.begin(); int ans=0; //for(int i=0;i<10;i++) // cout<
         
          2*y) q--; // cout<