C++,luogu,P11680 [Algo Beat Contest 001 B] Between Head and Tail

//luogu,P11680 [Algo Beat Contest 001 B] Between Head and Tail
#include <algorithm>
#include <iostream>
void solve(){
    int l,r;std::cin>>l>>r;
    for(int i = std::max(1,l);i<=std::min(9,r);++i){
        std::cout<<i<<' ';
    }
    {
        int i = std::max(111,l);
        int a = i/100;int b = i/10%10;int c = i%10;
        if(a>b){
            i = a*111;
        }else if(a==b &&b>=c){
            i = a*111;
        }else{
            i = (a+1)*111;
        }
        for(;i<=std::min(999,r);i+=111){
            std::cout<<i<<' ';
        }
    }
    for(int i = std::max(10101,l);i<=std::min(99999,r);i+=1){
        if(i%10 == i/10000 && i%10 == i/100%10){
            std::cout<<i<<' ';
        }
    }
    std::cout<<std::endl;
}
int main(){
    int t;std::cin>>t;
    while(t--){
        solve();
    }
}
// 1 111 1x1x1 1xx1xx1
// 1 -- 9
// 111 222 -- 999
// 1x1x1 2x2x2 -- 9x9x9
// 10101 -- 99999

posted @ 2025-03-07 20:20  Kazuma_124  阅读(5)  评论(0)    收藏  举报