双十一特惠 (简单版)

在双 11 时,心慧精品店有个特别的折价活动如下:

首先,我们定义一个正整数为"好的"当且仅当此数仅由数字 1 构成,举例来说 11111111111 都是「好的」,但 10123321 都是「不好的」。

接着,若一个商品原价为 xx,若顾客能把 xx 表示为 kk 个「好的」数字,那么此顾客就能用 kk 元买下它。

小月在心慧精品店里看上了一件原价为 vv 的商品,但小月的预算只有 99 元,请问小月能否在预算内买下此件商品,若可以请输出小月最少需要花多少钱才能买下此商品,否则输出 Impossible

#include<bits/stdc++.h>
using namespace std;
long long s[8]={11,111,1111,11111,111111,1111111,11111111,111111111};
int main()
{
    int t,i;
    long long x;
    long long res;
    scanf("%d",&t);
    while(t--){
        scanf("%lld",&x);
        res=0;
        if(x<=9) printf("%d
",x);
        else if(x==10) printf("Impossible
");
        else
        {
            for(i=7;i>=0;i--)
            {
                while(x>=s[i])
                {
                    x-=s[i];
                    res++;
                }
            }
            res+=x;
        if(res>9)  
           printf("Impossible
");
        else 
           printf("%lld
",res);    
        } 
      }
      return 0;
}
原文地址:https://www.cnblogs.com/ylrwj/p/11923837.html