• P1554 梦中的统计


    题目背景

    Bessie 处于半梦半醒的状态。过了一会儿,她意识到她在数数,不能入睡。

    题目描述

    Bessie的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码(0..9):每一个数码在计数的过程中出现过多少次?

    给出两个整数M 和N (1 ≤M ≤N ≤2,000,000,000 以及N-M ≤500,000),求每一个数码出现了多少次。

    例如考虑序列129--137: 129, 130, 131, 132, 133, 134, 135, 136, 137。统计后发现:

    0出现了1次,1出现了10次,2出现了2次,3出现了9次,4出现了1次,5出现了1次,

    6出现了1次,7出现了1次,8出现了0次,9出现了1次。

    输入输出格式

    输入格式:

    第1行: 两个用空格分开的整数M 和N

    输出格式:

    第1行: 十个用空格分开的整数,分别表示数码(0..9)在序列中出现的次数。

    输入输出样例

    输入样例#1:
    129 137
    输出样例#1:
    1 10 2 9 1 1 1 1 0 1

    开启刷水题模式23333

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<map>
     6 #include<algorithm>
     7 #define LL long long int 
     8 using namespace std;
     9 const int MAXN=88000;
    10 inline void read(int &n)
    11 {
    12     char c=getchar();n=0;bool flag=0;
    13     while(c<'0'||c>'9')    c=='-'?flag=1,c=getchar():c=getchar();
    14     while(c>='0'&&c<='9')    n=n*10+c-48,c=getchar();flag==1?n=-n:n=n;
    15 }
    16 LL n,m;
    17 LL ans[10];
    18 int main()
    19 {
    20 //    read(n);read(m);
    21     cin>>n>>m;
    22     for(LL i=n;i<=m;i++)
    23     {
    24         LL p=i;
    25         while(p)
    26         {
    27             ans[p%10]++,
    28             p/=10;
    29         }
    30     }
    31     for(int i=0;i<=9;i++)
    32         printf("%lld ",ans[i]);
    33     return 0;
    34 }
  • 相关阅读:
    k64 datasheet学习笔记26--Oscillator (OSC)
    k64 datasheet学习笔记22---Direct Memory Access Controller (eDMA)
    k64 datasheet学习笔记21--Direct Memory Access Multiplexer (DMAMUX)
    System.getProperty()获取系统的配置信息
    Zoomit的用法总结
    .bat文件调用java类的main方法
    电脑快捷键总结
    验证java引用的小例子
    java随机数
    java调用删除文件的方法删除文件,却删除不干净
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/7693782.html
Copyright © 2020-2023  润新知