51Nod 1385

来源:互联网 发布:知乎日报启动图片 编辑:程序博客网 时间:2024/06/06 00:35
找规律,发现1-9,就是1到9,到10的时候,0放在哪呢?就发现如果放在最后的话,可以保证以后的20,30,..90都用这个0,这样能把这个0的作用最大化,然后11的时候,同样一个新的1放在0后面,可以满足21,31...91.101,利益最大化,于是我们想到按照123456789012345678901234567890....的顺序放,是最优的贪心策略、
#include<cstdio>#include<cstring>#define maxl 10010int nlen,ans;char n[maxl];bool jug(int x){for(int i=1;i<=nlen;i++)if(n[i]-'0'==x)continue;elseif(n[i]-'0'<x)return false;elsereturn true;return true;}int main(){while(~scanf("%s",n+1)){nlen=strlen(n+1);ans=10*(nlen-1);for(int i=1;i<=9;i++)if(jug(i))ans++;elsebreak;printf("%d\n",ans);}return 0;}

原创粉丝点击