hdu 1226超级密码

将Apollo高精地图中的车道线叠加在多种导航地图上 本文介绍了将Apollo高精地图车道线叠加到普通导航地图的技术方案。高精地图具备厘米级车道精度和丰富的语义信息,叠加可实现可视化验证、调试分析和数据对比等功能。核心技术包括坐标系统转换(UTM/WGS84/BD09/GCJ02)和数据处理流程,通过Python脚本完成Apollo地图解析、坐标批量转换和多格式输出。文章详细提供了环境准备、工作目录创建和坐标转换脚本等操作步骤,实现了高精地图数据在OpenStreetMap、百度地图和高德地图上的可视化展示。 阅读详情
Problem Description
Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息:
密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十进制整数N(0<=N<=5000)的正整数倍(如果存在多个满足条件的数,那么最小的那个就是密码),如果这样的密码存在,那么当你输入它以后门将打开,如果不存在这样的密码......那就把门炸了吧.

注意:由于宝藏的历史久远,当时的系统最多只能保存500位密码.因此如果得到的密码长度大于500也不能用来开启房门,这种情况也被认为密码不存在.
 

Input
输入数据的第一行是一个整数T(1<=T<=300),表示测试数据的数量.每组测试数据的第一行是两个整数N(0<=N<=5000)和C(2<=C<=16),其中N表示的是题目描述中的给定十进制整数,C是密码的进制数.测试数据的第二行是一个整数M(1<=M<=16),它表示构成密码的数字的数量,然后是M个数字用来表示构成密码的数字.两个测试数据之间会有一个空行隔开.

注意:在给出的M个数字中,如果存在超过10的数,我们约定用A来表示10,B来表示11,C来表示12,D来表示13,E来表示14,F来表示15.我保证输入数据都是合法的.
 

Output
对于每组测试数据,如果存在要求的密码,则输出该密码,如果密码不存在,则输出"give me the bomb please".

注意:构成密码的数字不一定全部都要用上;密码有可能非常长,不要试图用一个整型变量来保存密码;我保证密码最高位不为0(除非密码本身就是0).
 

Sample Input
  
3 22 10 3 7 0 1 2 10 1 1 25 16 3 A B C
 

Sample Output
  
110 give me the bomb please CCB
Hint
Hint
Huge input, scanf is recommended.
对这种题一种都是毫无头绪,看到别人的代码一开始也是各种不懂,现在虽然明白一点点了,但还是不明白同余定理的使用。。看了别人的解析,虽然知道方法,但还是不太明白原理,,,练习多一点吧~~
一开始一直都是MLE,想不明白,后来copy别人的代码在和自己的对比,尼玛原来还是数组开大了,node的ans开到10000就MLE了。,对内存的使用还是不了解(似乎对所有的东西都不了解)~~
思路:  下面参考于  基本原理:  http://ip96cns.blog.163.com/blog/static/1700951922011122113332389/

r= k (mod c)則 (k*p+a)(mod c)=(r*p+a)(mod c)

如果某个数值序列的余数为r.....如果某个余数已经被构造过...那么后面得到的一定是与原来构造过的余数序列相同的序列 而由BFS的性质.最短的一定是最先被构造出来的..所以.....先到先得!(每一位使用什么数字都是不变的哦.....就是在同一个数值集合内...).  如果看不懂 看下面的

例如 如果 k1%c==k1k2%c   则 k1k3%c==k1k2k3%c

再特殊一点的 比如 3%4==3    27%4==3  则 31%4==271%4 ,32%4==272%4  ,33%4==273%4...............

我们要求得的数是n的整数倍 即余数为0  则取余数为0的数中的最小的那个即可

如果要求余数为k的数  只要求出最短的序列 因为n<5000余数最多有5000个  用BFS搜索 余数第一次出现的位置就是最短的序列 从中我们找出余数为0对应的最短的序列即可

 

 结论:只要某种余数曾经出现过.那么这种余数就不需要再出现.....  直到找到余数为0   或者长度大于500就退出

#include <cstdio>
#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
#define N 510
int n,c,m,a[20],vis[6000];
char s[N];
struct node {
	int ans[N];
	int len,k;
};
int bfs() {
	queue<node> p;
	for(int i=1; i<16; i++) {
		if(a[i]) {
			node e;
			e.k=i%n;
			e.ans[0]=i;
			e.len=1;
			if(e.k==0) {
				for(int i=0; i<e.len; i++) {
					if(e.ans[i]<10)
						printf("%d",e.ans[i]);
					else
						printf("%c",e.ans[i]-10+'A');
				}
				printf("\n");
				return 1;
			}
			if(!vis[e.k]) {
				vis[e.k]=1;
				p.push(e);
			}
		}
	}
	while(p.size()) {
		node q=p.front();
		p.pop();
		for(int i=0; i<16; i++) {
			if(a[i]) {
				int u=q.k;
				int f=(q.k*c+i)%n;
				if(f==0) {
					q.ans[q.len]=i;
					q.len++;
					for(int j=0; j<q.len; j++) {
						if(q.ans[j]<10)
							printf("%d",q.ans[j]);
						else
							printf("%c",q.ans[j]-10+'A');
					}
					printf("\n");
					return 1;
				} else if(!vis[f]&&q.len<499) {
					q.ans[q.len]=i;
					q.len++;
					q.k=f;
					vis[f]=1;
					p.push(q);
					q.len--;q.k=u;
				}
			}
		}
	}
	return 0;
}
int main() {

	/*#ifndef ONLINE_JUDGE
	freopen("in.txt","r",stdin);
	#endif*/
	int t;
	cin>>t;
	while(t--) {
		memset(a,0,sizeof(a));
		memset(vis,0,sizeof(vis));
		scanf("%d%d%d",&n,&c,&m);
		for(int i=0; i<m; i++) {
			scanf(" %c",&s[i]);
			if(s[i]>='A'&&s[i]<='F') a[s[i]-'A'+10]=1;
			else a[s[i]-'0']=1;
		}
		//for(int i=0;i<m;i++)
		//cout<<s[i]<<" ";
		if(!n){
			if(a[0]){
				printf("0\n");
			}
			else
			printf("give me the bomb please\n");  
		}
		else{
			int ans=bfs();
			if(!ans)
			printf("give me the bomb please\n");  
		}

	}

}

 



从零开始:使用英伟达nx开发板部署目标检测算法的全过程 英伟达nx开发板烧录、依赖安装、开发板联网 阅读详情

相关推荐

从原理到实战:ARS548 4D毫米波雷达数据处理与多模态融合全解析

本文深入解析了4D毫米波雷达ARS548的工作原理与数据处理全流程。从FMCW测距测速、MIMO虚拟天线阵列到点云生成的三步FFT处理,提供了详尽的Python代码实现。文章进一步探讨了与激光雷达、相机的多模态时空对齐与融合策略,并指导如何构建用于自动驾驶感知训练的多模态标注数据集,为相关算法工程师提供了从理论到实践的完整指南。

weixin_29161719的博客 368

HDU1226:超级密码(BFS)

Problem Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十进制整数N(0 注意:由于宝藏的历史久远,当时的系统最多只能保存500位密码.因此如果得到的密码长度大于500也不能用来开启房门,这

ACM!荣耀之路! 5251

从硬件到软件:深度解析D435i USB SCP overflow错误的根源与解决方案

本文深入解析Intel RealSense D435i相机在ROS环境下常见的'USB SCP overflow'错误,特别是与`control_transfer`相关的错误提示。从硬件配置到软件优化,详细介绍了如何通过调整USB接口、优化`rs_camera.launch`参数、更新固件驱动等方法解决数据传输溢出问题,提升设备稳定性和性能。

yy01234的博客 771

hdu 1226 超级密码(bfs+余数判重)

题意:略过 分析:用m个数字组成一个能够被n整除的c进制数的最小值,实际上本题的关键就在于这个最小值上。    首先确定我们的思路是从小到大寻找。先查看一位数,即查看着m个数字是否能被n整除;若不能,就查看任意可能的两位数组合...可是如此一来,预算量太大。于是我们考虑是否存在冗余量。    已知A,B两个数(A<B),A%n==x,B%n==x,我们称其为同余,那么以它...

aizhengcuo9261的博客 284

YOLOv8验证的命令以及计算coco指标

好久不看代码,都不知道怎么验证的了,来记录一下。1、计算coco指标。

毕竟是Shy哥 1481

拆解汽车T-Box:从4G模块到MCU,手把手教你理解车联网的‘黑匣子’

本文深入拆解汽车T-Box,揭示其作为车联网‘黑匣子’的核心架构与工作原理。从4G模块、MCU主控到外设接口,详细解析各组件功能及协同机制,并通过实战案例展示故障诊断与性能优化技巧,帮助读者全面理解T-Box在智能汽车中的关键作用。

weixin_30955617的博客 497

超级密码 HDU - 1226(同余剪枝)

超级密码 题目链接:HDU - 1226题意:给出一个N;求出一个最小的C进制数X, 使得X是N的正整数倍数, 且X只能由给出的M个个位数组成;同余剪枝, 和poj1456一样, 不过多了一个C进制, 并要求结果不超过500位;代码感觉很神奇...

Sirius_han的博客 360

基于STM32与毫米波雷达的非接触式睡眠监测系统

物联网和嵌入式系统技术正在推动医疗健康设备的智能化发展。通过传感器网络采集生理信号,结合信号处理算法实现健康监测已成为主流技术方案。毫米波雷达凭借其非接触检测特性,在呼吸、心率等生命体征监测中展现出独特优势。STM32系列MCU凭借丰富外设和低功耗特性,成为医疗级嵌入式设备的首选平台。本系统整合60GHz毫米波雷达、红外测温与无线传输模块,构建了完整的睡眠质量评估解决方案,其硬件架构设计、信号处理算法和低功耗优化策略对可穿戴医疗设备开发具有参考价值。

weixin_36369848的博客 613

hdu-超级密码(BFS)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1399 学了c++感觉有了用武之地用string存储字符串,感觉很方便; 题意:给你m个数字用任意数字组合成n的最小倍数,此题用到大数取余的方法以及同余定理;简单的bfs; #include #include #include #include #include using namespace

风儿-zsj的专栏 819

华为od 面试八股文_Python_02_含答案

华为od 面试八股文_Python_02_含答案

MISAYAONE的博客 4535

Pointnet++改进90:2025最新改进模块-EVA模块

本教程提出了一种改进PointNet++特征提取模块的方法,通过在PointNetSetAbstraction模块中加入NAMAttention注意力机制,显著提升了模型性能。具体改进包括:1)新建eva.py文件,实现了包含SDLSKA、CKS等关键组件的EVA模块;2)在pointnet2_utils.py中添加Conv和PointNetSetAbstractionAttention类,整合注意力机制;3)修改pointnet2_sem_seg.py模型结构。这种改进方法降低了实现难度,同时保持了33F

AIcurator的博客 361

hdu1226

hdu1226 :点击打开题目链接 本题目由于题目意思,容易得知是一道广搜的题目。 首先。 我们需要知道 ,大数取模,比如 如何判断1234567 对15 取模的数为多少?答案是7,但是如果他是大数怎么办, 假设num数组存一个大数;左边为高位,右边为低位 int temp=0; for(int i=最高位;i<=个位;i++) temp=(temp * 某进制+num[i]...

weixin_30352645的博客 173

vue接入海康4G版摄像头通过萤石云平台推送视频流教程

vue-video-player接入海康视频,videojs-contrib-hls,vue播放视频

renkai721的专栏 7279

HDU 1226 超级密码 BFS

Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十进制整数N(0<=N<=5000)的正整数倍(如果存在多个满足条件的数,那么最小的那个就是密码),如果这样的密码存在,那么当你输入它以后门将打开,...

名字呢? 277

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

hdu1226超级密码 bfs

传送门:hdu1226 中文题题意就不多说了,重点是方法,不要试图去枚举十进制n的倍数来然后看看给的几个数字能否凑出来,可以想象2要翻倍多少次才能达到500位的长度,因此要从给定的数字入手,枚举数字的各种组合情况,判断是不是n的整数倍。而且这样的话还有一个强剪枝就是如果余数相同就没必要再次入队了,因为无论是大数还是小数如果模n同余那么再添上其他数字的话再模n还是同余的,这样每个余数最多在队列里出

WA是一笔财富 1735

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU 1226超级密码(数位BFS)

HDU 1226超级密码(数位BFS) http://acm.hdu.edu.cn/showproblem.php?pid=1226 Problem Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十

code 1939

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

超级密码 HDU - 1226

超级密码 HDU - 1226

weixin_29216119的博客 1080

hdu1226 超级密码

超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2528    Accepted Submission(s): 812 Problem Description Ignatius花了一个星期的时间终于找

lfglfglfglfg的专栏 915

HDU 1226 超级密码

bfs。用给定的数字,组成n的倍数(最小),在m进制下输出。先在10进制下处理,输出的时候判断一下就行。长度不能超过500. 先把可用的,小于m的数存下来备用,每次拿到一个余数,就乘以m再加一遍可以扩展的数,用余数判重,直至得到0或队空。 #pragma comment(linker, "/STACK:1024000000,1024000000") #include #include #inc

DotACM 1151

HDU 1226 超级密码

Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息: 密码是一个C进制的数,并且只能由给定的M个数字构成,同时密码是一个给定十进制整数N(0<=N<=5000)的正整数倍(如果存在多个满足条件的数,那么最小的那个就是密码),如果这样的密码存在,那么当你输入它以后门将打开,如果不存在这样的密码…那...

touso的博客 165

hdu1226 超级密码 bfs

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1226 思路: 因为n 代码: #include #include #include #include using namespace std; const int maxn = 20; const int maxm = 5100; const int inf = (0x7f7f7f

671coder的专栏 3194

HDU 1226 - 超级密码

超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2242    Accepted Submission(s): 711 Problem Description Ignatius花了一个星期的时间终于找到了传说

zhaosdfa 541

hdu 1226 超级密码

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1226 题意: 给出n,c,m,密码必须是n这个十进制数的整数倍,c代表这个密码是C进制数,m代表这个密码只有m种字符构成,而且密码不能长于500 (做了半天没做出来!最后看题解A掉http://blog.youkuaiyun.com/libin56842/article/details/9750901。...

Kona的博客 497

HDU 1226 超级密码(数学 bfs)

传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1226 超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4901    Accepted Submission(s): ...

Y先森0.0 243

HDU1226 超级密码 BFS

HDU1226 超级密码 BFS

htrdchh的博客 231

hdu 1226 超级密码 bfs

C - 超级密码 Time Limit:10000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示

Marcus-Bao的个人主页 779
上一篇: Educational Codeforces Round 15 7.29
下一篇: bzoj2242 : [SDOI2011]计算器 [BSGS算法]
BIGKAKA
博客等级 码龄11年 32粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值