传送门

文章目录

  • 题意:
  • 思路:

题意:

初始有一个数111,你每次可以将其∗10*10∗10或者+(x−1)+(x-1)+(x−1),现在给你xxx,问最少经过多少步能到达nnn。
1≤n≤1e6,1≤m≤1e91\le n\le1e6,1\le m\le1e91≤n≤1e6,1≤m≤1e9

思路:

同余最短路,定义dis[i]dis[i]dis[i]代表通过两个操作能到的数modn\bmod nmodn后为iii的最少操作次数,那么答案就是dis[0]dis[0]dis[0]了,直接扩展就好啦。
最后注意一下n=1n=1n=1的情况,别被坑了。

// Problem: Yuki with emofunc and playf
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/18196/B
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//#pragma GCC optimize("Ofast,no-stack-protector,unroll-loops,fast-math")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4.1,sse4.2,avx,avx2,popcnt,tune=native")
//#pragma GCC optimize(2)
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
#include<map>
#include<cmath>
#include<cctype>
#include<vector>
#include<set>
#include<queue>
#include<algorithm>
#include<sstream>
#include<ctime>
#include<cstdlib>
#include<random>
#include<cassert>
#define X first
#define Y second
#define L (u<<1)
#define R (u<<1|1)
#define pb push_back
#define mk make_pair
#define Mid ((tr[u].l+tr[u].r)>>1)
#define Len(u) (tr[u].r-tr[u].l+1)
#define random(a,b) ((a)+rand()%((b)-(a)+1))
#define db puts("---")
using namespace std;//void rd_cre() { freopen("d://dp//data.txt","w",stdout); srand(time(NULL)); }
//void rd_ac() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//AC.txt","w",stdout); }
//void rd_wa() { freopen("d://dp//data.txt","r",stdin); freopen("d://dp//WA.txt","w",stdout); }typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;const int N=1000010,mod=1e9+7,INF=0x3f3f3f3f;
const double eps=1e-6;int n,x;
int dis[N];
bool vis[N];int main()
{//  ios::sync_with_stdio(false);
//  cin.tie(0);cin>>n>>x;if(n==1) {puts("0");return 0;}x--; queue<int>q; q.push(1);dis[1]=0; vis[1]=true;x%=n;while(q.size()) {int u=q.front(); q.pop();int now=1ll*u*10%n;if(!vis[now]) {vis[now]=1; q.push(now);dis[now]=dis[u]+1;}now=(1ll*u+x)%n;if(!vis[now]) {vis[now]=1; q.push(now);dis[now]=dis[u]+1;}}if(!vis[0]) puts("-1");else printf("%d\n",dis[0]);return 0;
}
/**/

湖南大学第十六届程序设计竞赛 B Yuki with emofunc and playf 同余最短路相关推荐

  1. 训练实录 | 湖南大学第十六届程序设计竞赛

    湖南大学第十六届程序设计竞赛 传送门 A - Triangles solved by Micky. 00:38:55(+2) 题意: 水题,给三个点的坐标,判断是(钝角,锐角,直角,非)三角形. #i ...

  2. 牛客 —— 湖南大学第十六届程序设计竞赛(重现赛)

    文章目录 A Triangles B Yuki with emofunc and playf D Queuing F Team G Binbin's string I Binbin and Balls ...

  3. 湖南大学第十六届程序设计竞赛(重现赛)补题 A

    题号 A - Triangles B - Yuki with emofunc and playf D - Queuing F - Team G - Binbin's string I - Binbin ...

  4. 文远知行杯广东工业大学第十六届程序设计竞赛ABEFHI(记录)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCPC/区域赛校队选手,巩固经典专 ...

  5. 文远知行杯广东工业大学第十六届程序设计竞赛(题解)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...

  6. 2022年 文远知行杯 GDUT 第十六届程序设计竞赛(同步赛) 部分题解

    今年做出来的题还没去年多,看来是题目质量高了(我又变菜了). 同步赛地址:文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJB B ...

  7. 湖南大学第十五届程序设计竞赛

    Problem A Oshino Shinobu loves Mr.Donut https://ac.nowcoder.com/acm/contest/908/A 题意: 题解: C++版本一 Pro ...

  8. 文远知行杯广东工业大学第十六届程序设计竞赛 E爬塔

    题目描述 Alice最近迷上了杀怪爬塔的游戏,在塔中有n层关卡,在通过第i层关卡后Alice会走上第i+1层.每个关卡中可能会获得女神的祝福或者遇到怪物.如果得到女神的祝福,Alice生命值会+1,如 ...

  9. 湖南文理学院第十六届程序设计竞赛_题解

    我是比赛链接 A(AtCoder):平方不等式 思路(huas_wlq): 直接判断输出 #include <bits/stdc++.h> /// 万能头文件(囊括了绝大多数的头文件,无需 ...

最新文章

  1. 存储过程处理错误数据
  2. PHP脚本执行超时的解决办法
  3. mongodb指南(翻译)(二十二) - developer zone - 索引(六)多键
  4. js断点和调试学习总结3
  5. linux——apache
  6. [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
  7. Android事件总线
  8. 职业高中计算机网络试讲稿,2021教师资格证考试面试高中信息技术试讲稿——《建立数据库的基本过程》...
  9. 转载:XPath基本语法
  10. pytorch: 网络层参数初始化
  11. python语言里数字包括_Python 学习 第一篇:数据类型(数字,布尔类型,操作符)...
  12. 黑马程序员__用户禁用cookie后登录不成功的原因
  13. 【图像分割】基于matlab各向异性热扩散方程SAR图像分割【含Matlab源码 1879期】
  14. js文本框设置必填项_JS校验表单必填项
  15. Android Studio 连接手机进行调试
  16. java邮件发送代码报错_javamail发送附件不通过也不报错
  17. 苹果A16的遮羞布被撕下了,性能提升幅度有限,被嘲讽为挤牙膏
  18. Win11宽带连接错误651如何解决?
  19. 一文搞定,SpringBoot 集成 Apollo 配置中心
  20. MySQL DELETE 操作后没有释放磁盘空间

热门文章

  1. linux系统构架ftp,用Linux系统构建高效FTP服务器
  2. 基于文本知识库的强化学习技术——Learning to Win by Reading Manuals in a Monte-Carlo Framework
  3. 竟然有如何奇葩的如厕方式......
  4. PL/SQL Developer使用技巧总结
  5. java语言程序设计第六章答案_Java语言程序设计(邵丽萍编著)第六章.doc
  6. 嵌套饼图_旭日图的效率,高到饼图都羡慕
  7. mysql如何查询某条记录在分页的第几页_分页插件的使用
  8. python tkinter进度条_在python3.7中更新tkinter进度条
  9. 配置yml_dctc:生成docker-compose.yml配置的工具
  10. linux accept过程,Linux协议栈accept和syn队列问题