hdu 4956 Poor Hanamichi(bestcoder Round 6 1001)

题目链接:点击打开链接


会出错的数是虽然mod11=3但是奇数位和减偶数位和为负数。

爆水。。直接模拟就行。。被数据量吓到了

代码:

#include <iostream>
#include <cstdio>#include <iostream>
#include <cstdio>
#include <cstring>
#define ll long long
using namespace std;

ll solve(ll n){
    char t[100];
    sprintf(t,"%I64d",n);
    ll even=0,odd=0;
    int len=strlen(t);
    for(int i=1;i<=len;i++){
        if(!(i&1)){
            odd+=(int)(t[len-i]-'0');
        }
        else
            even+=(int)(t[len-i]-'0');
    }
    return even-odd;
}

int main(){
    ll l,r;
    int T;
    cin>>T;
    while(T--){
        cin>>l>>r;
        while(l%11!=3){
                l++;
        }
        while(1){
            if(solve(l)!=3)
                break;
            l+=11;
            if(l>r) break;
        }
        if(l>r) cout<<"-1"<<endl;
        else cout<<l<<endl;
    }
    return 0;
}


你可能感兴趣的:(BestCoder)