中文二字词词语接龙的最长最短路径

news/2025/10/11 7:48:53/文章来源:https://www.cnblogs.com/xhze/p/19134172

结论:长度13个词。有3种起始字,6种结束字,共18条路径。

具体规则:取 mapull/chinese-dictionary,去除含有非中文字符或非二字的词语为词典。不允许出现重复尾字,字形一样即可接龙。

方便起见,我们约定省去重复的字,如:苹果->果子->子弹->弹珠->珠母 写作 苹果弹珠母。

18条路径分别为:

杔栌栱桷杙地头顶呱咭叮咣
杔栌栱桷杙地平吞咀嚅嗫呫
杔栌栱桷杙地丁庸岷邛崃嵦
杔栌栱桷杙地下石淙琤璪瑢
杔栌栱桷杙地上焌衎蝞蛴螬
杔栌栱桷杙地一吐鹘鸼鶝鶔
枅栌栱桷杙地头顶呱咭叮咣
枅栌栱桷杙地平吞咀嚅嗫呫
枅栌栱桷杙地丁庸岷邛崃嵦
枅栌栱桷杙地下石淙琤璪瑢
枅栌栱桷杙地上焌衎蝞蛴螬
枅栌栱桷杙地一吐鹘鸼鶝鶔
欂栌栱桷杙地头顶呱咭叮咣
欂栌栱桷杙地平吞咀嚅嗫呫
欂栌栱桷杙地丁庸岷邛崃嵦
欂栌栱桷杙地下石淙琤璪瑢
欂栌栱桷杙地上焌衎蝞蛴螬
欂栌栱桷杙地一吐鹘鸼鶝鶔

词语解释:

杔栌(tuō lú): 木名。
枅栌(jī lú): 柱上的方木。
欂栌(bó lú): 古代指斗拱(dǒuɡǒnɡ)。
栌栱(lú gǒng): 斗栱。
栱桷(gǒng jué): 栱和桷; 泛指微细之材。
桷杙(jué yì): 指木椽﹑木桩之类的木料。
杙地(yì dì): 钉木桩于地。
地头(dì tóu): 田地的两头; 当地;本地; 处所;地方; 方面; 书页下端的空白处。
头顶(tóu dǐng): 头的最上部; 指物体的最上方; 指头的上方﹑同人处于基本垂直位置的高空; 谓宗教徒向神行礼; 首要,摆在第一位的; 谓轮流值班。
顶呱(dǐng gū): 同“顶刮刮”
呱咭(gū jī): 同“呱唧”
咭叮(jī dīng): 象声词。金属碰击声。
叮咣(dīng guāng): 形容金属物体敲击振动声。
地平(dì píng): 同“地平天成”
平吞(píng tūn): 全吞;一口吞没。
吞咀(tūn jǔ): 吞食。
咀嚅(jǔ rú): 体味;钻研。
嚅嗫(rú niè): 说话吞吞吐吐的样子。
嗫呫(niè tiè): 附耳轻语。
地丁(dì dīng): 同“地客”
丁庸(dīng yōng): 用以充抵力役的赋税; 指以赋税充抵力役的制度。
庸岷(yōng mín): 四川(蜀)的别称。
岷邛(mín qióng): 古代泛指四川省成都地区。岷,指岷(汶)山郡;邛,指临邛。
邛崃(qióng lái): 亦作"邛莱"; 山名。邛崃山,在四川省荥经县西。
崃嵦(lái kǎi): 山貌。《广韵.平咍》"嵦,崃嵦。"一说山名。《字汇.山部》"嵦,崃嵦,山名。"
地下(dì xià): 地面以下;地层内部; 谓政党﹑团体等处于非法﹑秘密活动状态; 指阴间; 地面上。
下石(xià shí): 往井下丢石块。比喻乘人之危加以陷害。语出唐韩愈《柳子厚墓志铭》"落陷阱,不一引手救,反挤之,又下石焉者,皆是也。"
石淙(shí cóng): 石上水流。亦指石上流水声。唐韩愈有《石淙诗》十首。
淙琤(cóng chēng): 犹琮琤。玉相碰击声。亦以形容水流相激声。
琤璪(chēng zǎo): 象声词。
璪瑢(zǎo róng): 象声词。佩玉碰撞声; 佩玉缓行貌。
地上(dì shàng): 陆地上; 指人间,阳世。
上焌(shàng jùn): 与母辈通奸。
焌衎(jùn kàn): 进乐。
衎蝞(kàn mèi): 一种圆薄能飞的小虫。味辛辣而臭。《尔雅.释虫》"蜚,衎蝞。"郭璞注"蝞,即负盘,臭虫。"郝懿行义疏"此虫气如廉姜,故名飞廉;圆薄如盘,故名负盘。今俗人呼之殠般虫。其大如钱,轻薄如黄叶色,解飞,其气殠恶。"王国维《观堂集林.尔雅草木虫鱼鸟兽名释例下》"案芦萹﹑衎蝞乃苻娄﹑蒲卢之倒语,亦圆意也。芦萹根大而圆,蜚形亦椭圆如芦萹,故谓之衎蝞,后世谓之负盘,亦以此矣。"一说指臭虫。见清平步青《霞外攟屑.诗话.蜚衎即臭虫》。
蝞蛴(mèi qí): 蛴螬的别名。见明李时珍《本草纲目.虫三.蛴螬》。
蛴螬(qí cáo): 金龟子的幼虫﹐长寸许﹐居于土中﹐以植物根茎等为食﹐为主要地下害虫。
地一(dì yī): 神名。
一吐(yī tǔ): 比喻尽情说出。
吐鹘(tǔ gǔ): 金人的束带。用金玉或犀象骨角等制成。
鹘鸼(gǔ zhōu): 即鹘嘲。一说即斑鸠。
鸼鶝(zhōu fú): 蝙蝠。
鶝鶔(fú róu): 鸟名。

代码(Node.js v22.18.0)

let fs = require('fs');// 1. 读取词库并提取两字词
let words = JSON.parse(fs.readFileSync('word.json').toString('utf-8'));
let w2 = words.map(e => e.word).filter(e => e.match(/^[一-龥]{2}$/g));// 2. 构建字符集和索引
let chars = new Set();
w2.forEach(e => { chars.add(e[0]); chars.add(e[1]); 
});
let char = [...chars];
let c2i = [];
let n = char.length;
char.forEach((e, i) => c2i[e] = i);// 3. 构建有向图
let g = Array(char.length).fill().map(() => []);
w2.forEach(e => g[c2i[e[0]]].push(c2i[e[1]]));// 4. 初始化搜索参数
let c = [];
let d = [];
g.forEach(e => d.push([]));
let ans = [];// 5. 搜索
for(let i = 0;i < n;i++) {d[i][i]=0let now = [i]while(now.length) {let newnow = []now.forEach(u=>{g[u].forEach(v=>{if(d[i][v]==undefined||d[i][v]>d[i][u]+1) {d[i][v]=d[i][u]+1newnow.push(v)}})})now = newnow}console.log(i)
}
// c = [ 7521, 7548, 7833 ]
dmax = d.map(e=>e.reduce((l,e)=>l=Math.max(l,e),0))
dmax.reduce((l,e)=>l=Math.max(l,e),0) // 11
dmax.forEach((e,i)=>{if(e==11) c.push(i)})
c.map(e=>d[e].reduce((l,k,i)=>{if(k==11)l.push(i); return l},[])) // 全是 [5115, 5326, 6448, 8649, 9796, 10826];
let magic = [5115, 5326, 6448, 8649, 9796, 10826]; // 目标点d = [];
g.forEach(e => d.push([]));
for(let i of c) {d[i][i] = 0;let now = [i];let last = [];// 广度优先搜索while(now.length) {let newnow = [];now.forEach(u => {g[u].forEach(v => {if(d[i][v] === undefined) {d[i][v] = d[i][u] + 1;last[v] = u;newnow.push(v);}});});now = newnow;}// 构建路径magic.map(e => {let path = [];let u = e;while(u != undefined) {path.push(u);u = last[u];}ans.push(path.reverse());});
}// 6. 处理结果
ans = ans.map(l => l.map(e => char[e]).join('')); // 转换索引为汉字
answ = ans.map(s => s.split('').map((_, i) => {if(i != 11) return _ + s[i+1];
}).slice(0, -1));// 7. 查询词义
ansee = answ.map(l => l.map(e => words.filter(k => k.word == e)[0])).flat(3);
es = [...new Set(ansee).keys()];// 8. 格式化输出
ess = es.map(e => `${e.word}(${e.pinyin}): ${e.explanation ? e.explanation : '同"' + e.similar.join('"')}'`
).join('\n');console.log(ess); // 输出词义解释
console.log(ans.join('\n')); // 输出完整路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/934516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GitHub每日速递 251011】无需注册!本地开源AI应用构建器Dyad,跨平台速下载!

原文: https://mp.weixin.qq.com/s/3cKyqVciKXCUmUgKKKLYjw 全网数百平台通吃!ytDownloader 多系统适用无广告高速下载神器来袭 ytDownloader 是一个支持从数百个网站下载视频和音频的桌面应用。简单讲,它是一个能帮…

SignTool 使用 SafeNet eToken 硬证书进行代码签名

现在软件代码签名已经不能用 pfx 软证书了,需要搭配 FIPS140-2 Level2、Common Criteria EAL4级以上或者同等认证级别的硬件,如 USB 令牌、硬件安全模块 HSM 等才能完成签名根据CA/B联盟国际标准要求,从 2022 年 11…

计算机网络技术全面解析:从基础架构到未来趋势

本文深入解析计算机网络的核心概念,涵盖网络类型、拓扑结构、关键组件及通信协议,同时探讨网络优势、风险挑战与未来发展趋势,为理解现代网络技术提供全面指南。什么是计算机网络? 计算机网络是指在信息系统中通过…

高增长行业碳减排技术路径解析

本文探讨了高增长经济部门实现碳减排的技术路径,包括可再生能源应用、电动交通转型、物流系统优化等关键技术领域,分析了清洁能源基础设施和零排放车辆等技术挑战与解决方案。高增长经济部门碳减排的技术路径 应对气…

css_01_自适应grid布局

网格布局根据宽度自动分配列数和列宽 主要是在设置 grid-template-columns 时设置repeat的第一个参数是 auto-fill或auto-fit第二个参数使用minmax和min进行配合让宽度使用最小值 注:希望grid中单元格宽度固定就使用 …

css01_自适应grid布局

网格布局根据宽度自动分配列数和列宽 主要是在设置 grid-template-columns 时设置repeat的第一个参数是 auto-fill或auto-fit第二个参数使用minmax和min进行配合让宽度使用最小值 注:希望grid中单元格宽度固定就使用 …

Software Foundations Vol.I : 更多基本策略(Tactics)

Software Foundations Vol.I : 更多基本策略(Tactics)本章主要内容包括:如何在“向前证明”和“向后证明”两种风格中使用辅助引理; 如何对数据构造子进行论证,特别是,如何利用它们单射且不交的事实; 如何增强归纳…

Ai元人文:算力的涅槃——当“悟空之眼”照见AI决策的下一纪元

让我们以相同的硬件为舞台,展开一场关于“模拟悟空决策”范式与传统大模型之间,那场关乎效率与智慧本质的深刻对话。 在这场人工智能的竞赛中,我们常被一种叙事所主导:更大的模型、更多的数据、更强的算力。这是一…

关于微信公众号/服务号自动回消息问题(python)

天呐!!!!!真的忙活了好久,终于在将近凌晨两点的时候解决了问题。进入正题。是的,没有错,如果你怀疑微信那边给的示例有问题那是对的,至少其给的示例在python3上有问题(我测试是如此哈, python3.9),需要改动一…

10.10 闲话

Alexander Hamilton.《会魔法的老人》 我从出生就是一个自闭小孩 容易被别人一句话给轻易伤害 所以 我在唱台上 不断的摆弄我的肢体 为了阻挡光线 和我眼神里的荒诞 独自在电影院里 观看一部杰作 野火在我的心底燃烧 梦…

Python 中的函数签名:详解与实例

Python 中的函数签名:详解与实例 函数签名(Function Signature)在 Python 中是对函数调用接口的结构化描述,它定义了函数接收参数的方式、类型提示以及返回值信息。Python 的函数签名具有灵活性,不强制参数类型,…

基于AXI模块的视频流传输(上板移植篇)

先发泄一下,终于!!!国庆!一个国庆,你知道我怎么过的吗!!! 首先我是拿官方例程,但是还是依旧跑不通,检查一下,发现以下几个问题,并且我是怎么处理的: 1、首先上板失败,可能由于只是粗略配置了一下管脚没配…

装饰器工厂与类装饰器:进阶装饰器技术解析

装饰器工厂与类装饰器:进阶装饰器技术解析 装饰器是Python中强大的元编程工具,除多种进阶形式。其中装饰器工厂(Decorator Factory)和类装饰器(Class Decorator)是两种重要变体,分别解决“带参数的装饰器”和“…

53最大子数组和 动态规划和分制 - MKT

53最大子数组和 动态规划和分制 class Solution { public:// 时间不通过int maxSubArray_2(vector<int>& nums) {int tager_max=nums[0];int left=0;// sum_[i] map<int,int> sum_i; // 和 索引 由于…

Codeforces 2153D Not Alone 题解 [ 绿 ] [ 线性 DP ] [ 分类讨论 ]

Not Alone:唐题。 容易将题意转化为:环上的每一个颜色段长度都 \(\ge 2\),求最小操作数。 再考虑一个 \(O(n^2\log n)\) 的暴力,定义 \(dp_i\) 表示以 \(i\) 结尾的最小操作数,然后枚举前一个转移点 \(j\)。继续考…

__closure__:闭包的“身份证”

要理解“闭包函数和嵌套函数的区别在于 __closure__ 属性”,首先需要明确 嵌套函数 和 闭包函数 的基础关系——闭包函数是“满足特定条件的嵌套函数”,而 __closure__ 属性正是闭包函数区别于普通嵌套函数的“标志性…

Codeforces Round 1057 (Div. 2)

A. Circle of Apple Trees 题意:一个环形数组,每次到一个位置可以选择拿走这个元素或者跳过,然后走到下一个位置。每次拿的数要比之前拿的大,求最多拿多少数。 显然可以从小到大拿,那么答案就是不同数的个数。点击…

“表达式”(Expression)和“语句”(Statement)概念辨析

在编程中,“表达式”(Expression)和“语句”(Statement)是两个基础且容易混淆的概念。它们的核心区别在于是否有返回值以及在代码中的作用,以下从定义、特点、示例三个维度详细说明: 一、定义与核心区别表达式(…

每日一题 ###121买卖股票的最佳时机

仅以此记录所学所想,如有错误,还望指正。 首次尝试 1、我小小的脑子只能想出暴力解法,结果是超时了。 class Solution { public:int maxProfit(vector<int>& prices) {int max=0;for(int i=0;i<prices…

10.10总结

1.将一个数组中的值按逆序重新存放进行了编程联系,生成了对应程序 2.明天学习完善程序细节 3.今天收获满满