NC235247 Sramoc问题
题目
题目描述
\(Sramoc(K ,M)\) 表示用数字 \(0,1,2,3,4,...,k-1\) 组成的自然数中能被M整除的最小数。给定 \(K,M\) \(2\leq K\leq 10,1\leq M\leq 1000\) ,求 \(Sramoc(K ,M)\) 。例如 \(K=2,M=7\) 的时候, \(Sramoc(2 ,7) =1001\) 。
输入描述
第一行为两个整数 \(K,M\) 。
输出描述
输出 \(Sramoc(K ,M)\)
示例1
输入
2 7
输出
1001
题解
知识点:BFS,数学。
由于数字可能很大,所以用 string 存储。注意到整除和余数相关,而且要求最小整数,因此同一个余数显然是较早经历过的更优,因此扩展时如果余数已经存在,则不扩展。
扩展时可以用余数直接做余数运算,利用了同余的性质。
时间复杂度 \(O(?)\)
空间复杂度 \(O(M)\)
代码
#include <bits/stdc++.h>
using namespace std;
int k, m;
bool vis[1007];
struct node {
string num;
int r;
};
string bfs() {
queue<node> q;
for (int i = 1;i < k;i++) {
string s(1, '0' + i);
q.push({ s,i % m });
vis[i % m] = 1;
}
while (!q.empty()) {
node cur = q.front();
q.pop();
if (!cur.r) return cur.num;
for (int i = 0;i < k;i++) {
string s(1, '0' + i);
string nnum = cur.num + s;
int rr = (cur.r * 10 + i) % m;
if (vis[rr]) continue;
vis[rr] = 1;
q.push({ nnum,rr });
}
}
return "null";
}
int main() {
std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> k >> m;
cout << bfs() << '\n';
return 0;
}
NC235247 Sramoc问题的更多相关文章
- 洛谷P1602 Sramoc问题 题解报告【同余+bfs】
题目描述 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐厅找来了资深顾问团的成员,YQ ...
- 洛谷P1602 Sramoc问题
P1602 Sramoc问题 题目描述 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐 ...
- 洛谷——P1602 Sramoc问题
P1602 Sramoc问题 $bfs$搜索 保证第一个搜到的符合条件的就是最小的 #include<bits/stdc++.h> #define N 110000 using names ...
- 洛谷 P1602 Sramoc问题
题目描述 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐厅找来了资深顾问团的成员,YQ ...
- 洛谷 1602 Sramoc问题
Description 话说员工们整理好了筷子之后,就准备将快餐送出了,但是一看订单,都傻眼了:订单上没有留电话号码,只写了一个sramoc(k,m)函数,这什么东西?什么意思?于是餐厅找来了资深顾问 ...
- 【t085】Sramoc问题
Time Limit: 1 second Memory Limit: 128 MB [问题描述] Sramoc(K,M)表示用数字0,1,2,...,K-1组成的自然数中能被M整除的最小数.给定K,M ...
- luogu P1602 Sramoc问题
嗯...这篇题解写的原因是一位大佬网友问我的题 本蒟蒻为了纪念下这一刻,就写了 我只会写一写基本思路,经不起推敲 还是大家凑活看吧 重点来了 在bfs时,队列里的每个元素由一个高精度的数和那个数模m的 ...
- 洛谷1602 Sramoc问题
刚看到这道题的时候感觉像spfa. 然后发现其实bfs就可以做了. //Serene #include<algorithm> #include<iostream> #inc ...
随机推荐
- gitee 创建代码仓库,并提交本地代码
本文为博主原创,转载请注明出处: 1. 配置本地 gitee 的配置: git config --global user.name "xiangBaxiang" git confi ...
- Git Clone一个GitHub仓库时,发生报错
1.问题 1.使用HTTP方式:Git: fatal: unable to access ' https://github. com/Light-City/CPlusPlusThings. git/' ...
- [转帖]Percolator - 分布式事务的理解与分析
https://zhuanlan.zhihu.com/p/261115166 Percolator - 分布式事务的理解与分析 概述 一个web页面能不能被Google搜索到,取决于它是否被Googl ...
- [转帖]Jmeter跨线程组传参
https://www.cnblogs.com/a00ium/p/10462576.html 我们知道,同一线程组中可以通过"正则表达式提取器"获取其中一个取样器的响应结果中的 ...
- [转帖]深入理解Redis的scan命令
熟悉Redis的人都知道,它是单线程的.因此在使用一些时间复杂度为O(N)的命令时要非常谨慎.可能一不小心就会阻塞进程,导致Redis出现卡顿. 有时,我们需要针对符合条件的一部分命令进行操作,比如删 ...
- 服务器Raid配置的一些思考
背景 随着公司软件的发展.客户越来越多. 测试环境和兼容环境也越来越多. 不管是虚拟化,还是裸金属做数据库 存储都是绕不开的一道门槛. 最近又上架了几台服务器, 所以想趁着周末总结一下 最近服务器上架 ...
- Opentelemetry Collector的配置和使用
Collector的配置和使用 目录 Collector的配置和使用 Collector配置 Receivers Processors Exporters Service Extensions 使用环 ...
- runc网络与systemd管理runc应用
1. 创建网络命名空间 ip netns add <ns> # ns是自定义网络空间名 # 例如: ip netns add haproxy # 创建一个给 haproxy使用的网络命名空 ...
- 【杂题,树】【Uoj】Uoj618 【JOISC2021】聚会 2
2023.7.3 Problem Link 给定一棵 \(n\) 个点的树,对于一个点集 \(S\),定义 \(f(u,S)\) 为 \(\min_u \sum_{v\in S} \mathrm{di ...
- 【小测试】fastcgo 调用 c 代码
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 找到了一个项目 https://github.com/pe ...