【CCF 201809-3】元素选择器

版权声明: https://blog.csdn.net/leelitian3/article/details/82776210

思路

①处理每一行:

每一行都处理为一个结构体,包含3个属性:级别(rank)、元素名称(element)、id名称

级别 = 点的数量 / 2

元素名称 & id名称 都可以通过字符串处理获得,若无ID则为空

注意将元素名转为小写

②处理树的结构:

对于每一个结点v,找到它的前驱结点u,即向上找到第一个u.rank = v.rank - 1

③处理查询:

利用stringstream将几个单词储存进vector,元素名称全部改为小写

1.若查询只有一个单词,则遍历所有结构体查找即可

2.若查询有多个单词,如div q p,则先找到p,然后向上依次查找它的前驱结点,找到q,div

思路是100分,考场上写过了,这里就不想重复啦~

猜你喜欢

转载自blog.csdn.net/leelitian3/article/details/82776210