当前位置: 首页 > news >正文

G006 拓扑排序性质 字典建图 火星词典问题 P6491 [COCI 2010/2011 #6] ABECEDA - 洛谷

P6491 [COCI 2010/2011 #6] ABECEDA - 洛谷 数据比较弱,因为内存较小Python语言的话使用Python3提交
LCR 114. 火星词典 - 力扣 数据较强
CF510C - CodeForces

这类题的技巧是图建模。如果是非数字和非连续数字作为节点的话,选择字典进行存图是最好的选择。

  1. 先记录出现过的字符,再根据这些字符进行建图。

    chars = set(''.join(text)) g = {c: set() for c in chars}din = {c: 0 for c in chars}  # 入度统计
    
  2. 相邻单词对比较,比较遇到的第一个不同字母 s1[i]s2[i] ,建立有向边 s1[i] -> s2[i]

  3. 如果两串是前缀关系,那么根据字典序定义,前面长后面短的一定不合法。

  4. 最后正常判唯一性和环即可。

题目虽然没有说明无解 ! 和多解 ? 的优先级,但这类题目一般优先输出无解的情况

具体代码为

import sys
from collections import deque
if 1:inp = lambda: sys.stdin.readline().strip()II = lambda: int(inp())MII = lambda: map(int, inp().split())LII = lambda: list(MII())Max = lambda x, y: x if x > y else yMin = lambda x, y: x if x < y else ydef main():n = II()text = [inp() for _ in range(n)]chars = set(''.join(text)) g = {c: set() for c in chars}din = {c: 0 for c in chars} for i in range(n - 1):cur = text[i]nxt = text[i + 1]for j in range(Min(len(cur), len(nxt))):if cur[j] != nxt[j]:u = cur[j]v = nxt[j]if v not in g[u]: # 注意这里度数要与边绑定g[u].add(v)din[v] += 1breakelse:  # 遍历到最后没有触发 break 会进入这个 elseif len(cur) > len(nxt): # 前面更长一定不合法print("!")return dq = deque([c for c in chars if din[c] == 0])topo = []possible = Falsewhile dq:if len(dq) > 1:possible = Trueu = dq.popleft()topo.append(u)for v in g[u]:din[v] -= 1if din[v] == 0:dq.append(v)if len(topo) != len(chars):print("!")elif possible:print("?")else:print(''.join(topo))if __name__ == "__main__":main()
http://www.jsqmd.com/news/411037/

相关文章:

  • 2026汽车能源设备和工业电源品牌商盘点 - 品牌2025
  • 导师又让重写?10个降AI率工具深度测评与推荐
  • 2026年2月护肤品代工厂厂家最新推荐,从配方到成品全链路服务 - 品牌鉴赏师
  • 2026年北京陪诊公司电话推荐:精选机构与联系指南 - 品牌推荐
  • 刚刚,Anthropic 再出手!昨天 IBM 崩了,今天轮到所有打工人
  • 本科毕业论文写作突围:paperzz 如何成为 95% 学子的 “通关密钥”
  • 导师推荐!一键生成论文工具,千笔·专业论文写作工具 VS 灵感ai,专科生专属神器
  • 学长亲荐!AI论文软件 千笔ai写作 VS PaperRed 更贴合MBA需求
  • paperzz:本科毕业论文写作 “加速器”,让学术创作告别内耗
  • 2026年度高效节能电机厂家推荐榜单:技术创新与商业价值双维度综合评估 - 品牌推荐
  • 【IEEE出版 | EI检索】第六届人工智能与工业技术应用国际学术会议(AIITA 2026)
  • 亚马逊与MIT聚焦前沿科技研究研讨会
  • 在线考试系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 2026年度高效节能电机厂家TOP5综合评估与选型指南 - 品牌推荐
  • paperzz:本科毕业论文写作的「智能外挂」,让你轻松通关毕业季
  • 2026绵阳房产交易代办服务推荐指南专业团队护航:绵阳苹果地产联系方式/绵阳靠谱的房产中介是哪家/选择指南 - 优质品牌商家
  • 从选题到定稿:paperzz 解锁本科毕业论文写作 “通关秘籍”
  • 2026Q1 上海别墅大宅全案装修口碑排行榜 专业全案设计・靠谱装企优选 - 品牌智鉴榜
  • 2026 本科毕业论文写作工具首选:Paperzz,让每一步创作都有 “智” 可循
  • 2026年2月高压防爆电机厂家实战报告:主流制造商技术实力及安全效能对比 - 品牌推荐
  • 2026年花灯品牌新势力,创意设计引领节日新风尚,庙会花灯/西游记花灯/大型花灯/十二生肖花灯,花灯供货厂家怎么选择 - 品牌推荐师
  • 2026最新西双版纳旅行社公司top10推荐!旅行/旅游线路/攻略/自由行服务品牌权威榜单发布 - 十大品牌榜
  • 探讨船用柴油发电机组优质供应商,百发动力 - 工业品牌热点
  • PaperZZ:2026 本科毕业论文「无痛通关」指南,AI 全流程赋能告别写作焦虑
  • 2026年高效节能电机厂家推荐:聚焦风机水泵领域深度评测,针对变负载与系统效率痛点 - 品牌推荐
  • 计算机毕业设计springboot会议室管理系统 基于Spring Boot的企业会议空间预约平台 智能化办公场地调度系统的设计与实现
  • 2026年绝缘靴手套耐压装置可靠产品推荐榜:局部放电检测设备/局部放电测试设备/手持式局放仪/手持式局放检测仪/选择指南 - 优质品牌商家
  • Paperzz:本科毕业论文智能写作新范式,让毕业创作告别焦虑
  • 2026年高压防爆电机厂家推荐:基于安全与效率维度的行业权威榜单 - 品牌推荐
  • Kaggle是什么?