Small Multiple(AtCoder-3621)

Problem Description

Find the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Constraints

  • 2≤K≤105
  • K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Example

Sample Input 1

6

Sample Output 1

3
12=6×2 yields the smallest sum.

Sample Input 2

41

Sample Output 2

5
11111=41×271 yields the smallest sum.

Sample Input 3

79992

Sample Output 3

36

题意:给出一个整数 k,求这个数的倍数,使得其各位数的和最小,并输出这个和

思路:bfs

设答案为 x,由于要求 x 的各位数之和最小,那么可以从 1 开始,当搜索到的第一个值 %k 为 0 即为答案

那么有 2 种入队方式:

  • x+1:此时各位数字和比之前的多了一个 1,那么代价是 1
  • x*10:此时各位数字和比之前没有改变,那么代价就是 0

因此问题转换为用 bfs 找到满足条件的 x,由于要找各位和最小的,也就是说代价为 0 的首先出队,因此可以使用双端队列,将代价为 0 的放在队首,代价为 1 的放在队尾 

Source Program

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#define EPS 1e-9
#define PI acos(-1.0)
#define INF 0x3f3f3f3f
#define LL long long
const int MOD = 1E9+7;
const int N = 100000+5;
const int dx[] = {-1,1,0,0,-1,-1,1,1};
const int dy[] = {0,0,-1,1,-1,1,-1,1};
using namespace std;
int vis[N];
int main() {
    int n;
    scanf("%d",&n);
    deque<pair<int,int> > Q;
    Q.push_front(make_pair(1,1));
    while(!Q.empty()){
        pair<int,int> temp=Q.front();
        Q.pop_front();
        if(!vis[temp.first]){
            vis[temp.first]=true;
            if(temp.first==0){
                printf("%d\n",temp.second);
                break;
            }
            Q.push_front(make_pair((temp.first*10)%n,temp.second));
            Q.push_back(make_pair((temp.first+1)%n,temp.second+1));
        }
    }
    return 0;
}

 

### 回答1: vosk-model-small-cn-0.22是一种基于语音识别技术的模型,主要用于将人类语音转换为可操作的文本形式。其名称中的“vosk-model”代表它是一种基于Vosk平台构建的模型,而“small-cn-0.22”则代表它是一个较小的中文模型,其版本号为0.22。 该模型的应用领域非常广泛,它可以用于在智能家居、智能语音助手、语音翻译等领域实现人机交互。该模型通过将输入的语音信号分解成一系列语音片段,并利用先进的机器学习算法对这些片段进行分析,从而识别出相应的语音内容。 相比于传统的语音识别技术,vosk-model-small-cn-0.22具有许多优势。首先,它具有较高的准确率和实时性,可以在很短的时间内完成语音识别任务,并且准确性也很高。其次,该模型的体积较小,所需的计算资源也相对较少,这对于一些硬件条件较为有限的设备来说尤其重要。 总之,vosk-model-small-cn-0.22是一种具有广泛应用前景的语音识别模型,它能够广泛应用于人机交互、智能家居、智能语音助手等领域,为构建更加智能化的生活提供了有力的支持。 ### 回答2: vosk-model-small-cn-0.22是一个语音识别模型,采用轻量级的卷积神经网络和CTC(Connectionist Temporal Classification)算法。该模型主要用于汉语普通话的语音识别任务,可以较为准确地将语音信号转化为文字。 vosk-model-small-cn-0.22具有如下特点: 1. 小巧精简:该模型大小只有100MB左右,相比其他语音识别模型更加轻量化,占用资源少。 2. 兼容性强:该模型可以在各种移动端硬件上运行,可移植性强。 3. 语音识别效果良好:该模型训练数据覆盖面广泛,已经经过大量训练和优化,并且在多个语音识别测试基准上表现优异。 4. 开放源代码:该模型采用开源方式发布,任何人都可以从GitHub上下载并使用。 总之,vosk-model-small-cn-0.22是一款非常出色的语音识别模型,对于需要将语音信号转换为文字的应用场景具有很大的帮助。 ### 回答3: vosk-model-small-cn-0.22是一个用于语音识别的中文模型。它是由Vosk团队开发的一种基于深度学习技术的语音识别模型,可以识别中文语音并将其转换为文本数据。该模型训练数据包含了多种发音和语言习惯,使得它可以适应多种方言和口音。因此,该语音识别模型不仅能够应用于标准普通话,还可以适应其他方言和口音的语音,使得语音识别的效果更加准确和高效。此外,vosk-model-small-cn-0.22模型不需要互联网的连接,可以脱机进行语音识别,具有较高的安全性和隐私保护能力。该模型在语音识别效果和资源消耗方面均呈现出优秀的表现,因此,它在许多领域,如智能家居、语音助手、语音搜索等方面都有广泛的应用。总之,vosk-model-small-cn-0.22是一种功能强大且可靠的中文语音识别模型,将对我们的语音识别技术和应用产生积极的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值