NOIP 2008 提高组 复赛 matches 火柴棒等式

NOIP 2008 提高组 复赛 matches 火柴棒等式

//洛谷 p1149 火柴棒等式
//难度:普及-
//考点:输入,输出 ,数组,取整,取模,将一个整数的个十百千万等位取出。  
//适用:小学生
//小技巧:穷举法,做了个超时测试i<=10000,j<=10000,发现算出答案与i<=1000,j<=1000相一致,提交时采用1000
//猜测:数据都在1000以内,因24-4=20等于10个1
#include
int b[10]={6,2,5,5,4,5,6,3,7,6};//0-9火柴根数
int fun(int n){
    int sum=0;
    if(n==0)
        return b[0];
    while(n){
        sum+=b[n%10];
        n/=10;
    }
    return sum;
}
int main(){
    int i,j,n,m,count=0;
    scanf("%d",&n);
    for(i=0;i<=1000;i++)
        for(j=0;j<=1000;j++){
            m=fun(i)+fun(j)+fun(i+j)+4;
            if(m==n)
                count++;
        }
    printf("%d\n",count);        
    return 0;
}


你可能感兴趣的:(NOIP,提高组,复赛)