SDUTOJ 3059 C#中类的继承性 ——字典树(哈希用法),map

2024-08-24 23:18

本文主要是介绍SDUTOJ 3059 C#中类的继承性 ——字典树(哈希用法),map,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C#中类的继承性

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

在C#中,类的继承遵循以下原则。
(1)派生类只能从一个类中继承,即单继承。
(2)类的继承是可以传递的,例如:假设类C继承于类B,类B又继承于类A,那么类A是类C的祖先类。
 
那么现在问题来了,给出一些类的继承关系,求出最多的继承层数。

输入

多组输入。

对于每组输入。

第一行输入一个整数n(1 <= n <= 50000)。

接下来的n行,每行只会符合下面两种格式:

(1) 仅包含一个类名。此时表明此类是基类,即不继承与任何类。

(2) 类名: 类名B。此时表明类A继承于类B

类名仅由小写英文字母且长度 <= 6。

数据保证合法。

输出

对于每组数据,输出最多的继承层数。

示例输入

2abcxyz:abc

示例输出

2

提示

 

来源

 zmx

#include <stdio.h>
#include <string.h>struct node
{int flag;int next[26];
}ls[6000010];int pr[50010];
int top,num;int creat(char sr[])
{int xb = 0,zh;char *p = sr;while(*p != '\0'){zh = *p - 'a';if(!ls[xb].next[zh]){ls[top].flag = 0;memset(ls[top].next,0,sizeof(ls[top].next));ls[xb].next[zh] = top++;}xb = ls[xb].next[zh];p++;}if(!ls[xb].flag)ls[xb].flag = num++;return ls[xb].flag;
}int main()
{char str[15];char sr1[10],sr2[10];int n;while(~scanf("%d",&n)){num = 1;memset(ls[0].next,0,sizeof(ls[0].next));top = 1;int mx = -(1 << 28);for(int i = 0;i < n;i++){scanf("%s",str);char *p = str;char *q = sr1;while(*p != '\0'){if(*p == ':')break;*q = *p;p++;q++;}*q = '\0';if(*p != '\0'){q = sr2;p++;while(*p != '\0'){*q = *p;p++;q++;}*q = '\0';int x = creat(sr1);int y = creat(sr2);// printf("pr[y] = %d\n",pr[y]);pr[x] = pr[y] + 1;if(mx < pr[x])mx = pr[x];}else{int x = creat(sr1);pr[x] = 1;}}printf("%d\n",mx);}return 0;
}

当时想多了,比赛完后才发现。。。。。就是用字典树  就是自己想多了。。。。。。不多解释

C++STL中的map也能过。。。。。

这篇关于SDUTOJ 3059 C#中类的继承性 ——字典树(哈希用法),map的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103882

相关文章

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ