解题报告-HDOJ-1075(字典树)

腾讯微搭低代码开发实战电子书:医疗挂号小程序 本书通过一个完整的“医疗挂号小程序”项目,深度讲解腾讯微搭(WeDa)低代码平台在复杂业务场景下的实战应用。从登录体系搭建、用户注册,到就诊人管理、科室排班与预约下单,全程遵循“配置+逻辑+实战”的思路,带领读者从零实现具备商业级可用性的医疗挂号小程序,掌握低代码开发的核心技巧与业务落地能力。 阅读详情

这一题和1251都是字典树,题意是给出单词以及单词的翻译,最后让你用这些单词翻译给出来的语句。

我的思路是,在每一个flag为true的单词保存对应的翻译,当翻译句子时,搜索字典树,当找到该单词、flag为true、并且该单词已经结束(很重要),就输出对应的翻译,否则,输出原来的单词。

以下是实现代码:

#include <iostream>

using namespace std;

char str[3000 + 50]; 

typedef struct Node 
{
    Node *child[26];
    int n;
    bool flag;
    char str[15];
}Node;

void Insert (Node *root, char *str,char *ch)
{
    int len = strlen (str);
    Node *ans = root;
    for (int i =0; i < len; i ++)
    {
        if (ans->child[str[i] - 'a'] == NULL)
        {
            Node *NewNode = (Node *) malloc (sizeof (Node));    
            NewNode->n = 1;
            NewNode->flag = false;
            for (int j = 0; j < 26; j++)
            {
                NewNode->child[j] = NULL;
            }
            ans->child[str[i] - 'a'] = NewNode;
            ans = NewNode;
        }
        else
        {
            ans = ans->child[str[i] - 'a'];
            ans->n ++;
        }
    }
    ans->flag = true;
    strcpy (ans->str,ch);
}

bool Search (Node *root, char *str,char *ch)
{
    int len = strlen (str);
    Node *ans = root;
    int i;
    for (i = 0; i < len; i ++)
    {
        if (ans->child[str[i] - 'a'] != NULL)
        {
            ans = ans->child[str[i] - 'a'];
        }
        else
        {
            break;
        }
    }
    if (ans->flag == true && i == len)//i==len这个条件不能少
    {
        strcpy (ch, ans->str);
        return true;
    }
    return false;
}

int main ()
{
    Node *root = (Node *)malloc (sizeof (Node));
    for (int i = 0; i < 26; i ++)
    {
        root->child[i] = NULL;
    }
    root->n = 0;
    
    char ch1[15],ch2[15];
    while (1)
    {
        scanf ("%s",ch1);
        if (strcmp (ch1, "START") == 0)
        {
            continue;
        }
        else if (strcmp (ch1, "END") == 0)
        {
            break;
        }

        scanf("%s",ch2);
        Insert (root, ch2, ch1);
    }

    getchar();
    while (1)
    {
        gets (str);
        if (strcmp (str, "START") == 0)
        {
            continue;
        }
        else if (strcmp (str, "END") == 0)
        {
            break;
        }

        char ch3[15];
        
        int cnt = 0;
        for (int i = 0; i < strlen (str); i++)
        {
            if (!(str[i] >= 'a' && str[i] <= 'z'))
            {
                ch3[cnt] = 0;
                cnt = 0;
                char rech[15];
                if (Search (root, ch3, rech))
                {
                    cout<<rech<<str[i];
                }
                else
                {
                    cout<<ch3<<str[i];
                }
            }
            else
            {
                ch3[cnt ++] = str[i];
            }
        }
        cout<<endl;
    }
}
/*
START
from fiwo
hello difh
mars riwosf
earth fnnvk
like fiiwj
END
START
difhi, i'm fiwo riwosf.
i fiiwj fnnvk!
END
*/


 

把 SAP ABAP ALE 与 IDoc 玩明白:从架构、配置到排错的一套闭环方法 本文介绍了SAP集成中ALE与IDoc的核心概念与实战应用。ALE作为SAP分布式应用框架,通过异步消息机制实现系统间数据交换,其三层架构隔离业务与传输细节。IDoc作为标准化消息容器,包含控制、数据和状态记录。文章详细解析了配置要点(端口、伙伴参数)、处理流程(Process Code)、排错工具(BD87、WE09)及同系统测试方法,并提供了发送程序代码骨架。通过架构认知→配置→开发→运维的完整路径,帮助读者掌握ALE/IDoc的实际操作技能。 阅读详情

相关推荐

SolidWorks参数化建模实战:从规则定义到智能装配

本文深入探讨SolidWorks参数化建模的实战技巧,从规则定义到智能装配的全流程。通过实际案例展示如何提升设计效率300%,确保一致性,并加速系列化开发。重点解析草图阶段植入设计意图、装配体级参数化及高级技巧,帮助工程师掌握三维建模的核心竞争力。

weixin_29306317的博客 416

Hdoj 1075 What Are You Talking About 【MAP】

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 15322 Accepted Submission(s): 4922Problem DescriptionIgnatius

shengweisong 1119

【Python】多分类算法—Random Forest

【Python】多分类算法—Random Forest 本文将主要就Random Forest(随机森林)的多分类应用进行描述,当然也可运用于二分类中 文章目录【Python】多分类算法—Random Forest前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 本文主要引用的是sklearn 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import nump

weixin_43166884的博客 1万+

HDU What Are You Talking About

Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 102400/204800K (Java/Other) Total Submission(s) : 23   Accepted Submission(s) : 12 Problem Description Ignatius is so lucky that he met

海盗船 1048

智能体评测技术与实践:从评估维度到DeepEval实战指南

智能体评测技术与实践:从评估维度到DeepEval实战指南 本文系统探讨了AI智能体的评测体系与实践方法。首先从四个关键维度构建评估框架:基础能力(意图理解、知识完整性)、复杂任务(多轮对话、动态工作流)、可靠性(幻觉抑制、安全合规)以及工具效率(参数填充、多工具协同)。其次分析了主流评测工具,包括xBench的动态双轨评估、DeepEval的全链路监控等解决方案。最后详细介绍了DeepEval的实战应用,涵盖环境配置、测试用例构建、指标配置及CI/CD集成,展示了如何通过代码化评估实现智能体质量的持续提升

Linda的自动化测试之旅 3414

coredump文件的原理是啥

Core Dump(核心转储)是操作系统在程序崩溃(如段错误、非法指令等)时自动生成的一个文件,它包含了程序崩溃瞬间的。通过 core dump,开发者可以像“时间回溯”一样检查程序崩溃瞬间的状态,是调试复杂问题的利器!终止时,Linux 内核会生成 core 文件。不会生成 core dump,因为它们是“优雅终止”信号。这样 core 文件会直接压缩存储,节省磁盘空间。的文件(类似可执行文件),可以用。Core 文件本质上是一个。

二进制君 381

杭电 1075 What Are You Talking About

Problem DescriptionIgnatius is so lucky that he met a Martian yesterday. But he didn't know the language the Martians use. The Martian gives him a history book of Mars and a dictionary when it leaves. Now Ignatius want to translate the history book into En

hym666的专栏 1914

IM 系统设计:仿微信架构,Netty + Protobuf + WebSocket 如何支撑百万级长连接?

相比 JSON,Protobuf 的体积通常只有前者的 1/5 到 1/10,且解析速度快一个数量级。// 消息类型:1-登录,2-心跳,3-单聊,4-群聊,5-ACK// 发送方ID// 接收方ID// 消息内容// 时间戳// 消息唯一ID,用于去重和ACK。

BUG猿的博客 1378

HDOJ.1075 What Are You Talking About(map)

What Are You Talking About点我跳转到题面题意分析首先第一组START-END给出翻译的字典,第二组START-END给出一句话,查找里面出现的单词,若字典中有则输出翻译后的内容,没有则原封不动输出。代码总览/* Title:HDOJ.1075 Author:pengwill Date:2016-11-21 */ #include <iostream>

Pengwill's Blog 458

低代码组件开发——OpenClaw智能助手的组件设计与开发(2026技术版)

OpenClaw智能助手的低代码组件开发平台采用分层架构设计,包含组件定义、注册、配置、渲染和生命周期管理等核心模块。该系统支持UI、功能、数据和集成四种组件类型,强调可重用性、可配置性和可扩展性。组件定义通过TypeScript、React等技术实现组件结构和行为的描述,组件注册中心基于Node.js和MongoDB管理组件版本。该平台通过React、Redux等技术实现组件渲染和状态管理,并提供完整的生命周期管理机制。这种架构设计显著提升了智能助手应用的开发效率和质量。

一键难忘的博客 407

用urdf给自己的ROS小车编写模型

3.3 使用urdf编写自己的ROS小车模型 3.3.1 常见的ROS小车结构有哪些? 下面就是常见的ROS小车,相信在大家的脑海里已经有了自己小车的样子,下面我和大家一起使用urdf对ros小车建模。 这里只对urdf进行简单介绍,然后就带大家使用urdf最基础的标签,建立机器人的urdf机器人模型。关于更多细节,请参看官网:http://wiki.ros.org/urdf/Tutorials 3.3.2 什么是urdf?建模的原因? 什么是urdf? URDF(Unified Robot Descri

「小白学移动机器人」一个专注分享移动机器人相关知识的公众号! 1万+

HDU 1075(简单字典树)

题意:第一个START,END中给出字典对照,第二个START,END 给出要翻译的句子。   #include #include #include using namespace std; char dictionary[1000000][11]; struct Trie { int sub; Trie* next[26]; Trie(

ACM Dream 850

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

字典树

又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。    字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不

忆梦 822

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...

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

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

hdu 分类

HDU分类 http://www.cnblogs.com/ACMan/archive/2012/05/26/2519550.html#2667329 努力A完.方便自己系统A题 不断更新中.................. 水题:1001 1004 简单题1005 找规律 (循环点,周期问题)1008 1012 1013 简单题(有个小陷阱,大数)1017 10...

weixin_30487317的博客 145

HDU 1075 What Are You Talking About

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 453

Dwylkz 827

HDOJ-1075What Are You Talking About(Trie/Map)

虽然是Trie专题里面的,不过完全可以用MAP写,于是就用MAP写了一发。自己的字符串处理还是不行,写得太烂了。 #include #include #include #include #include #include using namespace std; int main() { map f; string str1,str2; char s[10

GoldMoon 490

HDU 1075

小智有一只神奇的电耗子(就决定是你了,皮卡丘!),它每天都会写很多东西,但是他看不懂这只黄皮耗子整天在写些什么。有一天他突然收到一个快递。他拆开后发现是一个字典,他就好奇地翻了起来,结果发现把皮卡丘写的东西和字典里的东西一对比,竟然能翻译成英文,他很想把皮卡丘写的东西全部翻一下来,你能帮他把皮卡丘写的东西翻译成英文吗? Input 本题只有一组数据,所有单词只包含小写字母。测试用例由两部分组成,字...

weixin_44705665的博客 645

入门字典树 HDOJ1251 统计难题 HDOJ1075 字典翻译

HDOJ 1251 统计难题 最简单的字典树,耗内存,对比一下C++和G++下相同的代码运行结果: G++虽然快点,但是直接MLE...所以交的时候还要注意选择编译器啊 #include #include #include #include #include #include #define mst(a,b) memset(a,b,sizeof(a)) using namespace

AgoniAngel 746

HDOJ 1075 使用MAP求解,MAP使用模板

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 24202    Accepted Submission(s): 8108 Problem Descriptio

勇敢前进的ACMer 429

HDOJ 1075 What are you talking about (map + 字符串 )

点击打开链接 C++中map的用法: 1、头文件 #include 2、定义要在函数内       mapdic; 表示dic[string类型] = int类型 3、用法(以上面的例子展开)      清空:dic.clear();      放入数据:dic[string] = int      查找:dic.find(string) == dic.end() 没有

Muya 331

HDOJ 1075

字典树 9890974 2013-12-25 15:31:06 Accepted 1075 468MS 59832K 1342 B G++ 泽泽 1 #include<stdio.h> 2 #include<cstring> 3 #include<cstdlib> 4 struct...

Zeze 138

HDOJ 1075 What Are You Talking About

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 22065    Accepted Submission(s): 7356 Problem Descriptio

Dust_heart的博客 335

hdoj1075 What Are You Talking About(STL map处理字符串)

来源:http://acm.hdu.edu.cn/showproblem.php?pid=1075 运用map处理问题 具体见代码注释 #include #include #include #include #include using namespace std; map m; string s; int search(string key) //用来判断map里是否存在key值 {

CqZtw的博客 398

HDOJ 1075 What Are You Talking About(字典树)

 http://acm.hdu.edu.cn/showproblem.php?pid=1075 What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 14675    Ac

SimonCoder的专栏 764

HDOJ 1075 -- What Are You Talking About Trie( STL )

原创 转载请注明:www.cnblogs.com/yewei 方法一:Trie 思路: 1. 开辟一个结构体数组dict,数组中存放索引值和索引,比如from fiwo 2.建立一颗Trie,Trie维护 整型变量 index,结构体指针数组 branch,在建立Trie的过程中,若是单词结尾,Trie中index赋值为dict的索引,否则为-1 写法一...

weixin_30326741的博客 203

HDOJ 1075 (What Are You Talking About)

点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=1075 思路:利用字典树+map ,但是也可以直接利用map来写,用string不要用char 注意:这组数据 START dog aa END START a aa END 输出:a dog 代码(字典树+map): #include &lt;iostre...

编程资料大全 178
上一篇: 解题报告-HDOJ-1251(字典树)
下一篇: 为自己而转,弱校,加油!!——弱校ACM奋斗史
WellerZhao
博客等级 码龄15年 11粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值