「杂题乱刷2」CF2067C

唐吗?唐的。

题目链接

CF2067C Devyatkino

解题思路

首先注意到答案一定不会大于 7,这点显然,不多说。

那么直接暴力枚举即可,你需要保证每种数字选取次数之和不大于 7,还是暴力即可,时间复杂度 O(T×7!),可以通过此题。

那么为什么只用取到 9999999 呢?因为根据 7 的整除性,此时 79 构成了一个 7 循环,此时一定最优,此时必定取到最优情况。

参考代码

唐的一批。

ll n;
ll f(ll x)
{
    ll pd=0;
    while(x)
        pd|=x%10==7,
        x/=10;
    return pd;
}
void _clear(){}
void solve()
{
    _clear();
    cin>>n;
    if(f(n))
    {
        cout<<0<<endl;
        return ;
    }
    ll nn=n,ans=7;
    forl(______,0,ans)
        forl(_____,0,ans-______)
            forl(____,0,ans-______-_____)
                forl(___,0,ans-______-_____-____)
                    forl(__,0,ans-______-_____-____-___)
                        forl(_,0,ans-______-_____-____-___-__)
                            forl(qwq,0,ans-_-__-___-____-_____-______)
                            {
                                nn=n+99*_+999*__+9999*___+99999*____+999999*_____+9999999*______+99999999*qwq;
                                if(f(nn))
                                {
                                    Min(ans,_+__+___+____+_____+______+qwq);
                                    continue;
                                }
                                forl(i,1,ans-_-__-___-____-_____-______-qwq)
                                {
                                    nn+=9;
                                    if(f(nn))
                                    {
                                        Min(ans,i+_+__+___+____+_____+______+qwq);
                                        break;
                                    }
                                }
                            }
    cout<<ans<<endl;
}
posted @   wangmarui  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
历史上的今天:
2024-02-13 「杂题乱刷」洛谷 P10155
点击右上角即可分享
微信分享提示