列表

详情


NC25094. [USACO 2006 Dec B]Dream Counting

描述

Bessie was daydreaming one day as she drifted between wakefulness and that delicious drowsiness that we all feel when we are tired. For a moment, she counted sheep as couldn't quite sleep. Bessie's mind is razor sharp and visualizes the numbers as she counts. She started noticing the digits and wondered: how many instances of each digit appear in a counting sequence?
Write a program to answer this question. Given two integers M and N (1 <= M <= N <= 2,000,000,000 and N-M <= 500,000), how many of occurences of each digit appear?
Consider the sequence 129..137: 129, 130, 131, 132, 133, 134, 135, 136,
Count the digits to find:
1x0 1x5
10x1 1x6
2x2 1x7
9x3 0x8
1x4 1x9

输入描述

Line 1: Two space-separated integers: M and N

输出描述

Line 1: Ten space-separated integers that are the counts of the number of each digit (0..9) that appears while counting through the sequence.

示例1

输入:

129 137

输出:

1 10 2 9 1 1 1 1 0 1

说明:

One zero, ten ones, etc.

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 17ms, 内存消耗: 488K, 提交时间: 2019-07-03 19:32:38

#include<bits/stdc++.h>
using namespace std;
int f[10];
int main(){
	int a,b;
	cin>>a>>b;
	for(int i=a;i<=b;i++){
		int j=i;
		while(j){
			f[j%10]++;
			j/=10;
		}
	}
	for(int i=0;i<=8;i++)
	cout<<f[i]<<" ";
	cout<<f[9]<<"\n";
	return 0;
}

上一题