ACM题目 求思路 枚举超时·

图片说明

 #include<iostream>
using namespace std;
long pow(int a,int b){
    if(b==0) return 1;
    return a*pow(a,b-1);
}
int main(){
    long x,y;
    int countinput=0;
    while(cin>>x>>y){

    countinput++;
    int count=0;
    int countsame=0;
    for(long i=x;i<=y;i++){
        int m1=3;
        int result1=pow(i,m1)-m1;
        if(result1>10*y){
            break;
        }
        for(long j=i;j<=y;j++){
            if(i==1&&j==1)continue;
            int m=3;
            int result=pow(i,m)+pow(j,m)-m;
            if(result>10*y){
                break;
            }
            if(result>=10*x&&result%10==0){
                    count++;
                    if(i==j){
                        countsame++;
                    }
            }
        }
    }
    cout<<"Case "<<countinput<<": "<<2*count-countsame<<endl;
        }
}