拼字检索——

c语言多媒体文件管理及检索系统220 建立一个多媒体文件信息管理系统,包括对各种多媒体音视频文件的管理。该系统具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作等。其中,多媒体文件信息应包括:音视频文件的文件名、文件类型、文件大小、导演、演员、浏览次数、发行日期、所获奖项等。 阅读详情
Spell checker

Problem Description

You, asa member of a development team for a new spell checking program, are to write amodule that will check the correctness of given words using a known dictionaryof all correct words in all their forms.

If theword is absent in the dictionary then it can be replaced by correct words (fromthe dictionary) that can be obtained by one of the following operations:

?deletingof one letter from the word;

?replacingof one letter in the word with an arbitrary letter;

?insertingof one arbitrary letter into the word.

Yourtask is to write the program that will find all possible replacements from thedictionary for every given word.

Input

Thefirst part of the input file contains all words from the dictionary. Each wordoccupies its own line. This part is finished by the single character '#' on aseparate line. All words are different. There will be at most 10000 words inthe dictionary.

Thenext part of the file contains all words that are to be checked. Each wordoccupies its own line. This part is also finished by the single character '#'on a separate line. There will be at most 50 words that are to be checked.

Allwords in the input file (words from the dictionary and words to be checked)consist only of small alphabetic characters and each one contains 15 charactersat most.

Output

Writeto the output file exactly one line for every checked word in the order oftheir appearance in the second part of the input file. If the word is correct(i.e. it exists in the dictionary) write the message: " is correct".If the word is not correct then write this word first, then write the character':' (colon), and after a single space write all its possible replacements,separated by spaces. The replacements should be written in the order of theirappearance in the dictionary (in the first part of the input file). If thereare no replacements for this word then the line feed should immediately followthe colon.

Sample Input

i

is

has

have

be

my

more

contest

me

too

if

award

#

me

aware

m

contest

hav

oo

or

i

fi

mre

#

Sample Output

me is correct

aware:award

m: i myme

contestis correct

hav:has have

oo: too

or:

i iscorrect

fi: i

mre:more me

#include<bits/stdc++.h>
using namespace std;

set<string> wl; 
struct node
{
    char s[20];
    int mod;
};

int thesame(char *a,char *b) 
{
    int alen,blen,num,i;
    
    alen=strlen(a);
    blen=strlen(b);
    if(abs(alen-blen)>1)
    {
        return 0;
    }
    
    num=0;
    if(alen>blen)
    {
        for(i=0;i<alen;i++)
        {
            if(a[i]==b[num])
            {
                num++;
            }
        }
        if(num==blen)
        {
            return 1;
        }
        return 0;
    }
    else if(blen>alen)
    {
        for(i=0;i<blen;i++)
        {
            if(b[i]==a[num])
            {
                num++;
            }
        }
        if(num==alen)
        {
            return 1;
        }
        return 0;
    }
    else
    {
        for(i=0;i<alen;i++)
        {
            if(a[i]==b[i])
            {
                num++;
            }
        }
        if(num==alen-1)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

int main()
{
    wl.clear(); //字母表数组清零 
    node stu[10008];  //临时表作用及输入表作用 
    char str[20];
    int i,j;
     
    j=0;
    while(~scanf("%s",&str))
    {
        if(str[0]=='#') break;
        strcpy(stu[j].s,str);//写入临时表中 
        wl.insert(stu[j].s); //存入字典中 
        j++; 
    }
    while(~scanf("%s",&str))
    {
        if(str[0]=='#') break;
        if(wl.count(str))  //特别的函数,count能搜索wl中和str一样的内容,返回1或0 
        {
            printf("%s is correct\n",str);
        }
        else
        {
            printf("%s:",str);
            for(i=0;i<j;i++)
            {
                if(thesame(stu[i].s,str))
                {
                    printf(" %s",stu[i].s);
                }
            }
            printf("\n");
        }
    }
}
Squishword:基于语义网络的文字游戏,从拼写正确到意义连通 自然语言处理(NLP)通过词向量等技术将词汇映射到高维语义空间,实现从传统的字符串匹配到基于意义的理解。这一原理支撑了语义搜索、智能推荐等应用,其核心价值在于让机器能够“读懂”人类语言背后的概念与关联。在游戏与交互设计领域,这一技术催生了全新的体验形式,例如Squishword这类文字游戏,它摒弃了传统游戏对拼写准确性的依赖,转而构建以词义节点为核心的语义网络,让玩家通过探索概念间的同义、反义、因果等多种关联路径来进行游戏。这种设计不仅降低了语言游戏的门槛,提升了包容性,更训练了玩家的联想思维与语义检索能力 阅读详情

相关推荐

C/C++ words search单词搜索算法详解及源码

Words search(单词搜索)是一种在字母矩阵中搜索给定单词的算法。此示例代码假设字母矩阵为5x5,单词列表最多有10个单词,每个单词最大长度为20。它使用了嵌套的循环来遍历矩阵中的每个字母,并调用searchWord函数来搜索给定的单词。函数中,我们使用dirs数组来代表8个方向,通过扩展单词并检查相邻字母是否与单词的下一个字母匹配。如果找到完全匹配的单词,我们将其打印出来,否则我们打印未找到的消息。在实际使用时,需要根据具体的需求和场景进行相应的调整和改进。函数用于检查边界条件。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 8130

中间是I的英文单词全解析:筛选方法、发音规律与应用技巧

字母在单词中的位置往往决定发音与拼写规律,其中中间字母i尤其特殊:它可能发短音/ɪ/,也可能变成长音/aɪ/,甚至在某些词中完全沉默。通过明确“中间”的定义、按单词长度分类、借助脚本或通配符查询,可以高效筛选出一批独特词汇,为英语学习者、拼字游戏爱好者和教学场景提供实用的词库基础。结合词汇背后的发音规则与结构记忆法,这套观察方法还能迁移到其他字母,帮助你建立更系统的单词认知方式。从基础概念到操作细节,再到常见陷阱,逐步搭建一套可复用的中间字母检索方法论,让背词、猜词和游戏都更有线索可循。

weixin_34101914的博客 95

FOC-滑膜控制器SMC/滑膜观测器SMO

三相PMSM是一个非线性、强耦合的多变量控制系统,对于外界的扰动或者电机自身的参数发生变化时,传统的PI控制并不能满足实际的要求。因此可以引入滑模控制SMC,它对扰动和参数不敏感,响应速度也够快。简单来说就是,滑膜观测器就是通过采样与坐标变换得到的Ualpha,Ubeta,Ialpha,Ibeta四个参数值,获取。SMO叫滑膜观测器(Sliding Mode Observer),用于获取转子位置信息与转速信息。2、作为滑膜观测器SMO,获取电机角度与转速信息。之间的误差来设计滑膜观测器,并通过该误差。

小胡同学的工程师学习之路 1万+

牛客 HJ27 查找兄弟单词

链接:https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68。

qq_40844444的博客 150

用deepseek对GPU服务器进行压力测试

利用 DeepSeek 模型对 GPU 服务器进行压力测试,核心思路是通过,验证 GPU 服务器在计算、显存、网络等维度的承载能力,同时观察稳定性与性能瓶颈。

weixin_42795092的博客 1610

如何利用PREEvision和MATLAB开发AUTOSAR软件组件

在业界,比较著名的电子电气架构开发工具要属德国Vector公司开发的PREEvision工具了,而MATLAB/Simulink软件是非常高效且实用的基于模型的应用软件开发工具。利用PREEvision与Simulink联合开发AUTOSAR应用软件组件的开发流程有三种,分别是:“自上而下”开发流程(从PREEvision开始),“自下而上”开发流程(从Simulink开始),以及“双向”开发流程。如下图所示,无论哪一种开发流程,PREEvision与Simulink工具都是通过arxml文件进行信息交互的

怿星科技的博客 5397

Discover Unique Words with “I“ in the Middle

​ Are you a word enthusiast or just looking to spice up your vocabulary? The website "5 Letter Words with I in the Middle" is your go-to resource for discovering intriguing five-letter words that feature "I" right at their center. It’s a fun way to enhance

halen333的博客 72

基于simulink构建一个完整的航空航天器姿态控制与导航仿真模型

航空航天器的姿态控制与导航系统是确保飞行器稳定运行和精确执行任务的核心技术。其目标是通过传感器获取飞行器的状态信息,并利用控制器调整飞行器的姿态,使其按照预定轨迹飞行。基于MATLAB/Simulink平台进行航空航天器姿态控制与导航系统的建模与仿真,可以帮助研究者验证算法性能并优化系统的动态响应。本项目旨在构建一个完整的航空航天器姿态控制与导航仿真模型,包括飞行器动力学建模、传感器模块设计、控制器实现以及导航算法仿真,并通过仿真分析其性能。

xiaoheshang_123的博客 273

字符串相似度算法

字符串相似度算法一、百度百科二、用途三、实现过程四、JAVA代码实现五、原理六、结束语 一、百度百科 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。 许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。 ...

栖息在北方的一只大鸟 1028

行人检测模型在海思平台上的部署:从 PyTorch 到 NNIE 深度优化与实践

摘要 本文详细介绍行人检测模型从PyTorch到海思NNIE平台的部署流程。首先分析了行人检测面临的挑战(尺度变化、遮挡、姿态多样性等)及边缘部署的优势(实时性、隐私保护等)。重点阐述了模型转换过程:PyTorch→ONNX→Caffe→NNIE-WK,其中PyTorch转ONNX需注意评估模式设置、虚拟输入匹配、操作集版本选择等关键点。文章旨在帮助开发者在海思3516D芯片上实现高效的行人检测,克服部署过程中的常见问题,最终实现边缘设备的实时目标检测能力。

FJN110的博客 218

Qt/C++编写自定义控件42-开关按钮

一、前言 从2010年进入互联网+智能手机时代以来,各种各样的APP大行其道,手机上面的APP有很多流行的元素,开关按钮个人非常喜欢,手机QQ、360卫士、金山毒霸等,都有很多开关控制一些操作,在Qt widgets应用项目上,在项目中应用些类似的开关按钮,估计也会为项目增添不少新鲜感。 总结了大部分的开关按钮控件,基本上有两大类,第一类是纯代码绘制,这种对代码的掌控度要求比较高,但是灵活性比较好...

Qt/C++视频监控/推流/物联网/大屏系统/自定义控件/UI定制/输入法 3328

字符串相似度算法——Levenshtein

0.这个算法实现起来很简单 1.百度百科介绍: Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。 许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。 2.用途 模糊查询 3.实现过程 a....

浮梦一场 527

深度学习论文: AnomalyDINO: Boosting Patch-based Few-shot Anomaly Detection with DINOv2

通过将DINOv2模型适应到一次性和少量异常检测中,并专注于工业应用少量异常检测。实验表明,这种方法不仅与现有技术相匹敌,甚至可以在许多设置中超越它们。我们提出的仅视觉方法AnomalyDINO基于补丁相似性,能够实现图像级别的异常预测和像素级别的异常分割。该方法在方法论上很简单,无需训练,因此不需要任何额外的数据进行微调或元学习。

mingo_敏 1905

全文檢索 contains函數

CONTAINS是一個述語,用來搜尋包含字元資料型別的資料行中精確或模糊 (比較不精確) 符合單字或片語,與文字在特定距離內的文字或加權匹配。CONTAINS 可以搜尋︰ 單字或片語。單字或片語的字首。接近另一個字的單字。由另一個字變化而來的單字 (例如,單字 drive 可變化出 drives、drove、driving 與 driven)。比另一個字的指定加權還高的單字

小小菜鸟成长记 1847

将GroundDINO、EdgeMTAM和FoundationPose的ONNX模型转换为TensorRT格式并部署到NVIDIA Jetson Orin平台的完整技术指南

TensorRT模型部署指南:从ONNX到Jetson Orin的优化实践 本文详细介绍了将GroundDINO、EdgeMTAM和FoundationPose模型从ONNX格式转换为TensorRT引擎并在Jetson Orin平台部署的全流程。主要内容包括: 环境配置:JetPack 5.1.2+环境搭建,TensorRT工具链安装,存储与交换空间优化 模型转换:动态尺寸处理、自定义算子实现、层融合策略及INT8量化校准 部署优化:引擎序列化加密、多模型并行推理架构设计、CUDA流异步执行 实战技巧。

huanghm88的专栏 438

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【函数分享】快速生成汉字的首拼字母【经典】

经常要对姓名按拼音搜索。 所以需要做如下函数来快速获取首拼 代码如下: USE [tempdb] GO /****** Object: UserDefinedFunction [dbo].[fun_getPY] Script Date: 05/23/2012 18:03:45 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIE

t134679的专栏 1685

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Android 2.1 (Eclair)的中文联系人拼音检索问题

Rainux早上留言说,CM的 5.0.7开始支持G1了,而且速度很快。这让我又痒痒了。看了眼xda,现在还是test1,得等等才能用。为了用的时候马上就能爽,于是又跑进eclair的代码里,寻找拼音检索的解决方案。 折腾了一天,得出的结论是: Eclair已经可以用email地址中@前的字符,以及nickname(编辑联系人时点more可以添加多个nickname)检索联系人; 所以,我认

1718

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

android 联系人 拼音,Android 2.1 (Eclair)的中文联系人拼音检索问题

Rainux早上留言说,CM的5.0.7开始支持G1了,而且速度很快。这让我又痒痒了。看了眼xda,现在还是test1,得等等才能用。为了用的时候马上就能爽,于是又跑进eclair的代码里,寻找拼音检索的解决方案。折腾了一天,得出的结论是:Eclair已经可以用email地址中@前的字符,以及nickname(编辑联系人时点more可以添加多个nickname)检索联系人;所以,我认为结合emai...

weixin_30336701的博客 291

20万生僻字“重生”记

过去,一个古文献研究专家在处理一批珍贵刻本。突然,一个从未见过的生僻字映入眼帘。按照传统工作流程,他需要查阅大量工具书才能弄清这个字的含义,期间可能花费数小时甚至数天,这在学界是司空见惯的现象。但现在,他只需打开“识典古籍”平台,使用最新上线的,将这个字拆解拼接,系统便从20余万个字形中精准匹配出了结果——整个过程不到10秒。这正是字节跳动用技术助力古籍数字化带来的变革。通过AI技术,识典古籍不仅大幅降低了古籍整理门槛,提升了工作效率,更解决了困扰古文献研究领域多年的生僻字整理难题。

DJXYS0309的博客 1004

Sql Server数据库开发(4)索引和试图

1.了解索引 定义:是数据表中数据和相应存储位置的列表 作用:可以提高在表或者视图中查找数据的速度 分类:聚集索引 非聚集索引(重要的两个索引) 聚集索引:是指表中数据行的物理存储顺序与索引顺序完全相同。 (例如拼字查字法)【每个表中只能有一个】 非聚集索引:不改变表中数据行的物理存储位置,数据与索引翻开存储,通过索引指向的地址与表中的数据发生关系。 (例如部首查字法)【最多可以有249个非聚...

beihai__的博客 190

Flutter 三方库 all_english_words 的鸿蒙化适配指南 - 掌握海量英文词库的内嵌与检索技术、助力鸿蒙应用构建智能补全与教育辅助组件

在 OpenHarmony 鸿蒙应用全场景办公(Smart Office)与智慧教育(Smart Education)的布局中,对自然语言尤其是英文文本的理解与预测是提升输入效率的核心。无论是开发一个单词拼写纠错器、背单词 App,还是在编辑器中实现极致丝滑的 Auto-complete(自动补全),都需要一个轻量、全量且可脱网运行的底层词库。作为一个封装了超过 24 万个标准英文单词的 Dart 库,旨在为鸿蒙开发者提供一支现成的“词汇军库”。本文将探讨如何在鸿蒙端高效利用此库。的核心逻辑是。

好代码自己会说话,烂代码才需要注释来圆谎 4290

使用 CONTAINS 谓词

可以使用 CONTAINS 谓词在数据库中检索特定的短语。当然,这样的查询可以使用 LIKE 谓词编写。但是,CONTAINS 的许多形式所提供的文本查询能力比 LIKE 要强。此外,与使用 LIKE 谓词不同的是,CONTAINS 检索总是区分大小写。 说明  对于那些区分大小写的语言(多数都基于拉丁语),全文检索查询以区分大小写的方式执行。但是,在日语中,有许多表示语音的拼字法,其中拼字规范

az44yao的专栏 882

[转]字符串相似度算法(编辑距离算法 Levenshtein Distance)

在搞验证码识别的时候需要比较字符代码的相似度用到“编辑距离算法”,关于原理和C#实现做个记录。 据百度百科介绍: 编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。   例如将kitt...

清风名 411

阿里GTE模型体验报告:中文语义搜索效果惊艳

本文介绍了如何在星图GPU平台上自动化部署nlp_gte_sentence-embedding_chinese-large镜像,高效实现中文语义搜索。该镜像专为中文理解优化,可精准匹配用户自然语言查询与文档内容,典型应用于客服知识库检索、FAQ智能问答等场景,显著提升搜索相关性与响应效率。

weixin_29840475的博客 302

小艺智能体帮你找回想不起名字的目的地

在人工智能技术快速发展的今天,语音助手已从指令执行走向模糊理解。基于大模型的多轮对话能力,智能体能够将用户零散、口语化的描述逐步转化为可检索的结构化信息。当面对“目的地名字想不起来”这一常见痛点时,这种交互方式展现出独特价值:用户只需描述记忆中的湖山、建筑、路线等碎片特征,系统即可借助知识图谱与地图数据,通过连续追问与修正,完成从模糊记忆到精确地名的匹配。小艺智能体正是这一技术的典型应用,它支持视觉特征、地域范围、交通方式等维度信息补全,还能结合相册、日历等个人数据辅助检索,广泛应用于旅游出行、城市地标查找

weixin_34320159的博客 372

【数据结构】基于比较的排序算法 - 交换排序

本文介绍交换排序中的冒泡排序与快速排序。冒泡排序通过相邻元素比较交换,实现升序,时间复杂度最坏为O(N²),空间复杂度O(1),稳定且适合小规模有序数据。快速排序采用分治思想,以基准值划分区间,平均时间复杂度O(N log N),空间复杂度O(log N),但不稳定,实际应用中性能优异,可通过随机基准、小区间优化等提升效率。

careathers的博客 372
上一篇: Werewolf——困难版本
下一篇: 关于《现代软件工程基础》的三四问
Whtiewww
博客等级 码龄7年 54粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值