PTA千手观音

深入解析MCU引脚复用与封装设计:以K10系列为例的硬件实战指南 在嵌入式系统设计中,微控制器(MCU)的引脚资源管理是硬件工程师的核心技能之一。其原理基于端口控制模块,通过内部多路复用器(MUX)实现一个物理引脚分时承载多种信号功能,如GPIO、ADC、UART或SPI等。这项技术的核心价值在于,它能有效平衡芯片成本、封装尺寸与系统功能复杂度,是实现产品小型化、低成本化的关键。在实际应用场景中,工程师需要根据外设需求,合理分配引脚功能并规避信号冲突。本文以恩智浦K10系列MCU的引脚复用机制与48引脚LQFP/QFN封装为例,具体阐述了如何解读复用表、进行引脚分配,并对 阅读详情

作者 陈越

单位 浙江大学

qsgy.JPG

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……

千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点 . 分隔,例如 pat.pta.cn 表示千手观音世界里的一个 3 位数。

人类不知道这些符号代表的数字的大小。不过幸运的是,人类发现了千手观音们留下的一串数字,并且有理由相信,这串数字是从小到大有序的!于是你的任务来了:请你根据这串有序的数字,推导出千手观音每只手代表的符号的相对顺序。

注意:有可能无法根据这串数字得到全部的顺序,你只要尽量推出能得到的结果就好了。当若干根手指之间的相对顺序无法确定时,就暂且按它们的英文字典序升序排列。例如给定下面几个数字:

pat
cn
lao.cn
lao.oms
pta.lao
pta.pat
cn.pat

我们首先可以根据前两个数字推断 pat < cn;根据左边高位的顺序可以推断 lao < pta < cn;再根据高位相等时低位的顺序,可以推断出 cn < oms,lao < pat。综上我们得到两种可能的顺序:lao < pat < pta < cn < oms;或者 lao < pta < pat < cn < oms,即 pat 和 pta 之间的相对顺序无法确定,这时我们按字典序排列,得到 lao < pat < pta < cn < oms。

输入格式:

输入第一行给出一个正整数 N (≤105),为千手观音留下的数字的个数。随后 N 行,每行给出一个千手观音留下的数字,不超过 10 位数,每一位的符号用不超过 3 个小写英文字母表示,相邻两符号之间用 . 分隔。

我们假设给出的数字顺序在千手观音的世界里是严格递增的。题目保证数字是 104 进制的,即符号的种类肯定不超过 104 种。

输出格式:

在一行中按大小递增序输出符号。当若干根手指之间的相对顺序无法确定时,按它们的英文字典序升序排列。符号间仍然用 . 分隔。

输入样例:

7
pat
cn
lao.cn
lao.oms
pta.lao
pta.pat
cn.pat

输出样例:

lao.pat.pta.cn.oms

题目大意:

用小写字母串代替数字,'.'分隔每一位数,问字符串代表的数字从小到大怎么排,如果字符位置排不出则按字典序排入。

思路:

拓扑排序+优先队列排序。

拓扑判断先后,优先队列维护字典序的升序。

 注意点:

只有在两个字符串的个数相同时才有可比性。

详情见以下代码:

if(i && vis[i] == vis[i-1])//从0开始,判出第一个并且长度相同 
	for(ll j = 0 ; j <= vis[i] ; j ++)
		if(str[i][j] != str[i-1][j]){
			lian[jl[str[i-1][j]]].push_back(jl[str[i][j]]);
			d[jl[str[i][j]]]++;
			break;
		}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl "\n"

const ll N = 1e5+7;
ll n,px=1;
string s;
unordered_map<string,ll>jl;//将字符转换为数字去拓扑 
string zf[N],str[N][17];//存数字对应的字符串,存整体字符
vector<ll>lian[N];//链表 
ll vis[N],d[N];//vis记录每个字符串的个数,d记录入度 

void solve(){
	cin >> n;
	for(ll i = 0 ; i < n ; i ++){
		cin >> s;
		for(ll j = 0 ; j < s.size() ; j ++)
			if(s[j] == '.')vis[i]++;
			else str[i][vis[i]] += s[j];
		for(ll j = 0 ; j <= vis[i] ; j ++)
			if(!jl[str[i][j]])
				jl[str[i][j]]=px,
				zf[px]=str[i][j],
				px++;
			if(i && vis[i] == vis[i-1])//从0开始,判出第一个并且长度相同 
				for(ll j = 0 ; j <= vis[i] ; j ++)
					if(str[i][j] != str[i-1][j]){
						lian[jl[str[i-1][j]]].push_back(jl[str[i][j]]);
						d[jl[str[i][j]]]++;
						break;
					}
				}
	priority_queue<string,vector<string>,greater<string> >q;//放入字符串 
	for(ll i = 1 ; i < px ; i ++)
		if(d[i] == 0)q.push(zf[i]);
	while(!q.empty()){
		ll x=jl[q.top()];
		cout << q.top();
		q.pop();
		for(ll i = 0 ; i < lian[x].size() ; i ++){
			d[lian[x][i]]--;
			if(!d[lian[x][i]])q.push(zf[lian[x][i]]);
		}
		if(!q.empty())cout << ".";
	}
	return;
}

int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//可不加 
	ll t=1;//cin >> t;
	while(t--)solve();
	return 0;
}

 

74LS161/48 交通灯控制系统:30-5-20-5 时序逻辑电路 Multisim 仿真验证 本文详细解析了基于74LS161/48芯片的交通灯控制系统设计,通过Multisim仿真验证30-5-20-5时序逻辑电路。从系统架构搭建、状态机实现到波形分析,提供全流程操作指南与典型问题排查方法,助力数字电路课程设计高效完成。 阅读详情

相关推荐

欧姆龙NX控制器与Sysmac studio的电机配置方法

使用歐姆龍NX控制器與Sysmac studio控制電機簡單運動 <上> — 環境配置0. 前言1. 實際硬件連接2. Sysmac studio 配置2.1 新建工程2.2 通信設置2.2.1 軟件內通信設置2.2.2 上位機本地通信設置 0. 前言 筆者最近需要使用到歐姆龍的多軸運動控制器來控制電機運動,但網路上關於Sysmac studio的教程或文章較為零散,作為初學者的筆者難以消化,故在稍微會用軟件後撰寫本文,為自己留個筆記,同時希望能夠幫助到需要的人。 1.本文面向買了歐姆龍控制器

weixin_46005653的博客 1万+

PTA-千手观音(拓扑排序)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

weixin_72113769的博客 1929

鸿蒙OpenHarmony南向开发 轻量系统芯片移植指南(一)

OpenHarmony系统采用"系统>子系统>部件"层级架构,支持功能模块化裁剪。本文介绍了关键子系统及移植方法:1)启动恢复子系统负责内核到应用间的进程初始化,需配置启动入口标识及链接脚本;2)文件子系统提供基础文件操作接口,需适配HAL层文件读写功能,可通过Flash模拟、轻量文件系统或厂商自有方案实现。移植过程需修改config.json配置,添加对应组件定义及功能实现。系统采用模块化设计,开发者可根据实际需求灵活配置所需子系统功能。

yx525623的博客 1131

PTA 千手观音

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

xjc1481612876的博客 1896

unity中判断是否联网,判断网络状态的两种方式

unity中判断是否联网,判断网络状态的两种方式

wla2996gpy032的博客 1876

pgpool-II安装部署

文章介绍了pgpool-II的核心功能、架构组成以及实际部署的关键配置步骤

weixin_41690116的博客 1424

PTA---千手观音(非常简单,理解就会)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

fw_is_me的博客 1830

Quartus (Quartus Prime 18.1)的安装及仿真步骤

前两天做计组的课设需要用到Quartus 这个软件,但安装有点麻烦,在网上搜了很多教程,发现都是旧版本的,最后弄了好半天才把环境搭建好。所以,分享一下它的搭建过程。 因为我不经常用它,所以安装的版本是精简版的其他版本的也应该差不多以下是需要下载的安装包: 准备: Quartus Prime 精简版,最新发布: v18.1 1. QuartusLiteSetup-18.1.0.625-wi...

weixin_41082948的博客 8万+

PTA L3-031 千手观音 (30 分)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点 分隔,例如 表示

00后的博客 1336

绿盾用户使用看图软件每次都需要把图片解密之后才能打开查看,怎么才能不用这么麻烦打开就能看

Win10专业版绿盾控制台7.0看图软件FastStone Image Viewer。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 1202

GEE案例教程:融合Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据,构建完整的洪水监测与影响评估工作流

本文介绍了一个专为巴基斯坦哈扎拉分区设计的洪水监测系统,该系统整合了Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据等多源遥感数据。系统通过VV极化SAR数据的水体提取算法(阈值-13dB)实现洪水范围监测,结合10米分辨率的光学影像进行可视化验证,并利用100米分辨率人口数据评估受灾人口。系统提供完整的技术实现,包括研究区加载、遥感数据处理、日期选择界面和洪水变化检测等功能模块,为灾害应急响应提供科学依据。

此星光明博客 191

PTA 千手观音7-13 (30 分)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

qq_74237414的博客 266

基于ZYNQ PL的AD7606数据采集与FFT实时频谱分析:从硬件到创新实现

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKnmpgJm-1750295287594)(https://example.com/fft_plot.png)]本文涉及代码已在Xilinx ZCU102开发板与AD7606评估板上验证通过,采样率支持200KSPS@8通道,FFT计算延迟<1ms。传统MCU+DSP方案难以兼顾速度与功耗,而ZYNQ的PL+PS架构为这一问题提供了完美解决方案。本文实现的ZYNQ PL方案突破了传统处理器的性能瓶颈,通过。

QQ_778132974的博客 339

PTA团体程序设计天梯赛 L3-031 千手观音 (Java)(满分不超时)

人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点分隔,例如。

weixin_43897853的博客 396

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

千手观音题解(C++与Java)与拓扑排序讲解

在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:每个顶点出现且只出现一次。若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例如,下面这个图:它是一个 DAG 图,那么如何写出它的拓扑排序呢?

IKUNIKUNIKUNikun的博客 674

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

7-4 千手观音 天梯赛

7-4 千手观音 天梯赛

xp_xht123的博客 461

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

L3-031 千手观音 拓扑排序+哈希表

unordered_map priority_queue topsort

nahnah_的博客 853

团体程序设计天梯赛PTA-SHU冲刺赛3. L11-L22

这是4.17 SHU备赛天梯赛的倒数第二场冲刺赛

2301_78856868的博客 528

团体程序设计天梯赛-练习集-java

团体程序设计天梯赛-练习集-java版本 博客提供题目解析,解题思路,ac代码。 对于无法ac的代码提供相应ac的C++代码

谢谢 啊sir的博客 6121

2025 SUM-ACM 第二周周报

(年前年后的一块一起写了)(一些比较有意思的题在这里写一下)

qq_39804992的博客 441

2023年团体程序设计天梯赛

## 2020年团体程序设计天梯赛 ### [PTA L2-034 口罩发放 (25 分)](https://blog.youkuaiyun.com/qq_52792570/article/details/130103677) ### [PTA L2-036 网红点打卡攻略 (25 分)](https://blog.youkuaiyun.com/qq_52792570/article/details/130102317) ## 2021年团体程序设计天梯赛 ### [PTA L1-078 吉老师的回归 (15 分)](https

00后的博客 2068

4.12周报

牛客->牛客周赛138->ABCDEF。7-10 哈利·波特的考试。7-12 智能护理中心统计。L2-2 实验室使用排期。7-11 到底爱不爱我。L1-6 大勾股定理。

Applete的博客 25

记2022天梯赛正式赛

2022年天梯赛

qq_61540355的博客 2136

有向图的拓扑序列

count(v.begin(),v.end(),tmp) m.count(tmp) 拓扑排序 数组模拟队列 auto &[k,v] : d) 哈希表

nahnah_的博客 618

天梯赛2022年比赛试题,进阶题L2,登顶题L3试题(仅题目)基础题L1有代码,请看本专栏另一篇

目录 L2-1 插松枝 (25 分) L2-2 老板的作息表 (25 分) L2-3 龙龙送外卖 (25 分) L2-4 大众情人 (25 分) L3-1 千手观音 (30 分) L3-2 关于深度优先搜索和逆序对的题应该不会很难吧这件事 (30 分) L3-3 教科书般的亵渎 (30 分) 菜菜不会,请各路大神们指点 L2-1 插松枝 (25 分) 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松...

QENGFENG的博客 4141

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 242
上一篇: C. Game On Leaves Codeforces Round 646 (Div. 2)
下一篇: D. Decrease the Sum of Digits Codeforces Round 667 (Div. 3)
翰墨织梦
博客等级 码龄4年 384粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值