zoukankan      html  css  js  c++  java
  • Small Multiple

    题目描述

    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 is given from Standard Input in the following format:
    K

    输出

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

    样例输入

    6

    样例输出

    3

    提示

    12=6×2 yields the smallest sum.

     

    #include<bits/stdc++.h>
    #define ll long long
    #define inf 0x3f3f3f3f
    using namespace std;
    const int N=3e5+50;
    const int p=1e9+7;
    int k,cnt;
    int dis[N],last[N];
    bool vis[N];
    struct orz{
        int v,nex,s;}e[N*5];
    queue<int>q;
    void add(int x,int y,int z)
    {
        cnt++;
        e[cnt].v=y;
        e[cnt].nex=last[x];
        last[x]=cnt;
        e[cnt].s=z;
    }
    void spfa()
    {
        for (int i=0;i<k;i++) dis[i]=inf;
        dis[1]=0; vis[1]=1;
        q.push(1);
        while (!q.empty())
        {
            int now=q.front(); q.pop();
            for (int i=last[now];i;i=e[i].nex)
            {
                if (dis[e[i].v]>dis[now]+e[i].s)
                {
                    dis[e[i].v]=dis[now]+e[i].s;
                    if (!vis[e[i].v])
                    {
                        vis[e[i].v]=1;
                        q.push(e[i].v);
                    }
                }
            }
            vis[now]=0;
        }
    }
    int main()
    {
        scanf("%d",&k);
        for (int i=0;i<k;i++)
        {
            add(i,(i+1)%k,1);
            add(i,i*10%k,0);
        }
     
        spfa();
     
        printf("%d
    ",dis[0]+1);
        return 0;
    }
     
    View Code
  • 相关阅读:
    练习题
    练习题
    作业 —— day77
    解决:Django项目no such table django_session
    解决:A server error occurred. Please contact the administrator
    作业24
    元类
    类的内置方法
    反射
    考试错题
  • 原文地址:https://www.cnblogs.com/tetew/p/9419606.html
Copyright © 2011-2022 走看看