1032 Sharing(35行代码+超详细注释+测试点4分析)

news2025/2/26 9:46:58

分数 25

全屏浏览题目

切换布局

作者 CHEN, Yue

单位 浙江大学

To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, loading and being are stored as showed in Figure 1.

Figure 1

You are supposed to find the starting position of the common suffix (e.g. the position of i in Figure 1).

Input Specification:

Each input file contains one test case. For each case, the first line contains two addresses of nodes and a positive N (≤105), where the two addresses are the addresses of the first nodes of the two words, and N is the total number of nodes. The address of a node is a 5-digit positive integer, and NULL is represented by −1.

Then N lines follow, each describes a node in the format:

Address Data Next

whereAddress is the position of the node, Data is the letter contained by this node which is an English letter chosen from { a-z, A-Z }, and Next is the position of the next node.

Output Specification:

For each case, simply output the 5-digit starting position of the common suffix. If the two words have no common suffix, output -1 instead.

Sample Input 1:

11111 22222 9
67890 i 00002
00010 a 12345
00003 g -1
12345 D 67890
00002 n 00003
22222 B 23456
11111 L 00001
23456 e 67890
00001 o 00010

Sample Output 1:

67890

Sample Input 2:

00001 00002 4
00001 a 10001
10001 s -1
00002 a 10002
10002 t -1

Sample Output 2:

-1

代码长度限制

16 KB

时间限制

200 ms

内存限制

64 MB

 测试点4是当地址1和2相同的时候

#include<bits/stdc++.h>
using namespace std;
const int N=100005;
int main(){
    int data[N],next[N],li[N],li2[N];//data记录数据,next记录下一个地址,li记录第一个单词的各节点地址,li2是第二个 
    int add1,add2,n;
    cin>>add1>>add2>>n;
    if(add1==add2){//完全相同时则输出起始地址即可(测试点4)
        printf("%05d\n",add1);
        return 0;
    }
    for(int i=0;i<n;i++){//输入 
        int add,ne;
        char k;
        cin>>add>>k>>ne;
        data[add]=k;
        next[add]=ne;
    }
    int cur=0,cur2=0;
    while(add1!=-1){//将第一个单词的所有结点放入li 
        li[cur++]=add1;
        add1=next[add1];
    }
    while(add2!=-1){//将第二个单词的所有结点放入li2 
        li2[cur2++]=add2;
        add2=next[add2];
    }
    reverse(li,li+cur);//反转li 
    reverse(li2,li2+cur2);//反转li2 
    int cnt=0;
    while(li[cnt]==li2[cnt])cnt++;//找到第一个不同的地址 
    if(cnt!=0)printf("%05d\n",li[cnt-1]);//输出不同地址的前一个地址即为所求地址 
    else cout<<-1<<endl;//若第一个地址就不同则返回-1 
    return 0;
}

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

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

相关文章

弘博创新2023读书会|“读”赢成长,“书”立未来

读万卷书&#xff0c;行万里路&#xff0c;以书会友&#xff0c;提升自我。 为了让大家在繁忙的工作中抽时间静下心来读书&#xff0c;与志同道合的人交流和分享自己的想法&#xff0c;弘博创新于5月21日举办了线下读书会活动&#xff0c;学友们都积极参加本次读书会。 参加读书…

JUC-JMM模型、CAS、AQS

JMM&#xff08;Java内存模型&#xff09;&#xff0c;主要描述了一组规则&#xff0c;主要定义了程序执行过程中变量的访问方式来保证单线程、多线程下的正常执行。JVM运行的实体是线程&#xff0c;每个线程运行时&#xff0c;都会创建一个工作内存【栈空间&#xff08;栈帧&a…

接口测试的测试要点

接口测试的测试要点&#xff0c;你知道都有哪些吗&#xff1f; 接口测试是软件测试中的重要组成部分&#xff0c;它的目的是评估接口的质量和可靠性&#xff0c;以保证系统的正常运行。在进行接口测试时&#xff0c;必须要考虑到以下几个方面&#xff1a; 测试用例的编写 测试…

安科瑞电力监控系统在虹科创新改造项目的应用

摘要&#xff1a;随着电力系统正向着高可靠性、高自动化、高信息化水平方向迅猛发展&#xff0c;对电网的监控已成为国内外高度重视的关键问题&#xff0c;特别是监控系统在电力系统中起着控制和监测等重要作用。本文针对开闭所供配电系统特点及供配电系统高可靠性的要求&#…

基于springboot+vue+elementui的健身房会员管理系统的

为了帮助用户更好的了解和理解程序的开发流程与相关内容&#xff0c;本文将通过六个章节进行内容阐述。 第一章&#xff1a;描述了程序的开发背景&#xff0c;程序运用于现实生活的目的与意义&#xff0c;以及程序文档的结构安排信息&#xff1b; 第二章&#xff1a;描述了程序…

可以在商场内部使用的导航地图?商场导览图怎么画?

可以在商场内部使用的导航地图&#xff1f;随着商业的发展&#xff0c;商场和商业综合体的规模越来越大&#xff0c;在注重消费者购物体验的时代&#xff0c;消费者想方便地找到心仪的品牌或美食&#xff0c;商场内具有“导示”作用的标志很重要。导示系统具有引导、说明、指示…

1. Ansible介绍,什么是Ansible?Ansible能用来做什么?

什么是Ansible&#xff1f;Ansible能用来做什么&#xff1f; 如果您是系统工程师或IT管理员,或者只是在IT部门工作的任何人,您可能会在环境中执行大量重复性任务, 无论是每天调整大小和创建新主机或虚拟机&#xff64; 在其上应用配置&#xff64; 修补数百台服务器&#xff6…

Nginx基础概念

一.nginx简介 1.什么是nginx&#xff1f; Nginx 是高性能的 HTTP 和反向代理的web服务器&#xff0c;处理高并发能力是十分强大的&#xff0c;能经受高负 载的考验,有报告表明能支持高达 50,000 个并发连接数。 其特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上n…

「实在RPA·烟草数字员工」助力烟草行业数字化转型加速度

烟草行业作为烟草产业链上重要一环&#xff0c;外部连接烟草工业企业、零售客户、消费者&#xff0c;内部包含营销、专卖、烟叶、物流等诸多业务&#xff0c;信息系统众多&#xff0c;企业数据量庞大。因此&#xff0c;清楚地了解自身存在的痛点&#xff0c;找到适合自身业务需…

Vmware虚拟机多开技巧

多年前&#xff0c;由于工作关系&#xff0c;在台式机上使用VMware虚拟多个操作系统进行微软AD实验。那时候电脑内存大概是4--8Gb&#xff0c;开3个也毫无压力。后来我的笔记本都16Gb内存了运行3个虚拟机竟然因为内存不足报错。 然后经过分析和查找&#xff0c;找到原因了。这里…

VR全景虚拟史记馆互动体验生动还原了历史画面

历史展览馆线上VR全景展示是一种新型的历史文化展示方式&#xff0c;它通过VR虚拟现实技术将历史事件、文化背景等内容呈现给观众。相比传统的实体历史展览馆&#xff0c;线上VR全景展示具有以下几个方面的突破&#xff1a; 实现更大范围、更多样化的内容展示 由于传统的历史展…

拉货搬家货运APP开发分析和功能列表

作为国家经济发展的重要基础设施&#xff0c;物流行业正在面对转型升级的风口。巨大的市场体量&#xff0c;也迎来了激烈的市场竞争。为了从同质化的服务中脱颖而出&#xff0c;开拓更大的市场&#xff0c;并且解决线下司机的载货痛点&#xff0c;货运APP的开发必不可少。 开发…

GO语言并发编程入门:Goroutine、Channel、Context、并发安全、GMP调度模型

GO语言并发编程入门&#xff1a;Goroutine、Channel、Context、并发安全、GMP调度模型 1.GO并发介绍 并发&#xff1a;多线程程序在一个核的cpu上运行。 并行&#xff1a;多线程程序在多个核的cpu上运行。 由上可知并发不是并行&#xff0c;并行是直接利用多核实现多线程的运…

C语言_数据类型[详细分析]

接上一篇&#xff1a;C语言_关键字_标识符简介 本次来分享C语言的数据类型&#xff0c;是博主的一些学习笔记的和心得的总结&#xff0c;话不多说&#xff0c;开始上菜&#xff1a; 此博主在CSDN发布的文章目录&#xff1a;我的CSDN目录&#xff0c;作为博主在CSDN上发布的文章…

如何零基础快速搭建一个后台管理系统

真在的大师&#xff0c;都永远怀着一颗学徒的心&#xff01;&#xff01;&#xff01; 大家好&#xff0c;我是为你们操碎了心的小编&#xff0c;今天我又带来了一款轻量级的saas后台管理框架&#xff0c;让你零基础也可快速搭建一个功能强大的后台管理系统。 niucloud-admin采…

什么是AOP,如何实现?(有落地代码)

AOP 的核心思想是将横切关注点抽象为一个独立的模块&#xff08;称之为“切面”&#xff09;&#xff0c;然后在需要应用它的地方进行调用。比如&#xff0c;在需要记录日志的方法中&#xff0c;我们可以定义一个切面来负责日志记录&#xff0c;这样所有调用该方法的地方都会被…

hugging face开源的transformers模型可快速搭建图片分类任务

2017年,谷歌团队在论文「Attention Is All You Need」提出了创新模型,其应用于NLP领域架构Transformer模型。从模型发布至今,transformer模型风靡微软、谷歌、Meta等大型科技公司。且目前有模型大一统的趋势,现在transformer 模型不仅风靡整个NLP领域,且随着VIT SWIN等变体…

关于I/O

I/O 1. 概念1.1 页缓存的简单工作流程1.2 页缓存的写机制或者写触发的时机1.3 为什么需要套字节缓冲区1.4 套接字缓冲区的简单流程 2. 传统I/O方式2.1 传统I/O读写流程2.2 传统 I/O的性能问题 3. DMA技术3.1 将数据写入磁盘的流程3.2 从磁盘读取数据的流程 4. 网络数据传输流程…

【python】制作一个点单小程序!

周末总是在吃的方面&#xff0c;及其纠结&#xff0c;今天来制作一个点单小程序&#xff0c;加入自己喜欢吃的东西&#xff0c;来慢慢挑选&#xff0c;让每个周末快乐无限&#xff01; 一.安装环境 python 3.7.8 QT xlrd、xlwt库使用pip接口进行安装 pip install xlrd pip …

DMBOK知识梳理for CDGA/CDGP——第一章数据管理

关 注gzh“大数据食铁兽“&#xff0c;回复“知识点”获取《DMBOK知识梳理for CDGA/CDGP》常考知识点&#xff08;第一章数据管理&#xff09; 第一章 数据管理 第一章在 CDGA|CDGP考试中分值占比均不是很高&#xff0c;主要侧重点是考概念性的知识&#xff0c;理解数据管理的…