栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2392 The Counting Problem

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2392 The Counting Problem

# include<iostream># include<cstdio># include<cstring># include<algorithm># include<vector>using namespace std;int s,t;int res[10],dig[20],len;void solve(int num){    num ++;    len =0;    int temp =1;    while(1)    {        dig[++len] = num%10;        num /= 10;        if(!num) break;        temp *= 10;    }    for(int i=1; i<10; i++) res[i] += (len-1)*temp/10;    res[0] += (len-1)*temp/10-(temp-1)/9;    for(int i=1; i<dig[len]; i++)    {        res[i] += temp;        for(int j=0; j<10; j++) res[j] += (len-1)*temp/10;    }    temp /= 10;    for(int i=len-1; i>=1; i--)    {        for(int j=0; j<dig[i]; j++)        { for(int k=len; k>i; k--)     res[dig[k]] += temp; res[j] += temp; for(int k=0; k<10; k++)     res[k] += (i-1)*temp/10;        }        temp /= 10;    }}int main(){    while(scanf("%d%d",&s,&t)&& s &&t)    {        memset(res,0,sizeof(res));        if(s>t) swap(s,t);        solve(s-1);        for(int i=0; i<10; i++) res[i] = -res[i];        solve(t);        for(int i=0; i<9; i++) printf("%d ",res[i]);        printf("%dn",res[9]);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/378530.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号