试题编号: 201809-3
试题名称: 元素选择器
时间限制: 1.0s
内存限制: 256.0MB
问题描述:



import java.util.*;
public class Main { public static void main(String[] args) {// TODO 自动生成的方法存根Scanner in=new Scanner(System.in);int n=in.nextInt();    int m=in.nextInt();in.nextLine();ArrayList<Label> parents=new ArrayList<Label>();ArrayList<Label> list=new ArrayList<Label>(n);String title=in.nextLine();Label newLabel=new Label(title,"",1,null);list.add(newLabel);parents.add(newLabel);for(int i=1;i<n;i++) {String str=in.nextLine();String[] parts=str.split(" ");title=parts[0].substring(parts[0].lastIndexOf(".")+1).toLowerCase();String id=parts.length==2?parts[1]:"";newLabel=new Label(title,id,i+1,parents.get((str.lastIndexOf(".")+1)/2-1));list.add(newLabel);if(parents.size()==(str.lastIndexOf(".")+1)/2) {parents.add(newLabel);}else {parents.set((str.lastIndexOf(".")+1)/2, newLabel);}}String css[][]=new String[m][];for(int i=0;i<m;i++) {String parts[]=in.nextLine().split(" ");for(int j=0;j<parts.length;j++) {if(parts[j].charAt(0)!='#') {parts[j]=parts[j].toLowerCase();}}css[i]=parts;}for(int i=0;i<m;i++) {ArrayList<Integer> lines=new ArrayList<Integer>();for(int j=0;j<list.size();j++) {int index=css[i].length-1;if(list.get(j).title.equals(css[i][index])||list.get(j).id.equals(css[i][index])) {Label temp=list.get(j).parent;index--;while(temp!=null&&index>=0) {if(temp.title.equals(css[i][index])||temp.id.equals(css[i][index])) {index--;}temp=temp.parent;}if(index==-1)lines.add(list.get(j).line);}}Collections.sort(lines);//还需对行号排序System.out.print(lines.size());for(int j=0;j<lines.size();j++) {System.out.print(" "+lines.get(j));}System.out.println();}}
}
class Label{String title="";String id="";int line=0;Label parent=null;public Label(String title,String id,int line,Label parent) {this.title=title;this.id=id;this.line=line;this.parent=parent;}
}

201809-3-元素选择器相关推荐

  1. CSS复合选择器(后代选择器、子元素选择器、并集选择器、伪类选择器、:focus伪类选择器)

    复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的. 1. 后代选择器 后代选择器又称为包含选择器 作用:用来选择元素或元素组的子孙后代 其写法就是把外层标签写在前面,内层标签写在后面,中间 ...

  2. css元素捕捉,css元素选择器

    CSS 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器. 如果设置 HTML 的样式,选择器通常将是某个 HTML 元素,比如 p.h1.em.a,甚至可以是 ...

  3. 通用兄弟元素选择器 E ~ F

    版本:CSS3 继承性:无 语法: E ~ F : {attribute} 说明: 匹配E元素之后的F元素 兼容性: 类型 Internet Explorer Firefox Chrome Opera ...

  4. CSS3之伪元素选择器和伪类选择器

    伪类选择器,和一般的DOM中的元素样式不一样,它并不改变任何DOM内容.只是插入了一些修饰类的元素,这些元素对于用户来说是可见的,但是对于DOM来说不可见.伪类的效果可以通过添加一个实际的类来达到. ...

  5. 015_CSS伪元素选择器

    1. 伪元素选择器是通过双冒号(::)加上特定的具有某种含义的单词来确定所选元素. 2. 伪元素/伪对象: 不存在在DOM文档中, 是虚拟的元素, 是创建的新元素.这个新元素(伪元素)是某个元素的子元 ...

  6. 011_CSS子元素选择器

    1. 与后代选择器相比, 子元素选择器(Child selectors)只能选择作为某元素的子元素. 2. 选择子元素 2.1. 如果您不希望选择任意的后代元素, 而是希望缩小范围, 只选择某个元素的 ...

  7. 004_CSS元素选择器

    1. CSS选择器用于"查找"(或选取)要设置样式的html元素. 2. CSS元素选择器/类型选择器 2.1. 元素选择器匹配文档元素的名称.元素选择器匹配文档树中该元素名称的每 ...

  8. CSS基本选择器(元素选择器、类选择器、id选择器)

    一.元素选择器 <!DOCTYPE html> <html><head><meta charset="UTF-8"><titl ...

  9. web前端入门学习 css(8)(新增语义化标签、video/audio、新增input类型、新增表单属性、属性选择器、结构伪类选择器、伪元素选择器、css3盒子模型、模糊、calc函数、过渡

    https://www.bilibili.com/video/BV1pE411q7FU?p=276 文章目录 html5新特性 html5新增语义化标签 header头部 nav导航 article内 ...

  10. CSS_03_04_CSS伪元素选择器

    第01步:编写css代码:wei.css @charset "utf-8"; /* 伪元素选择器:状态 效果顺序:L V H A */a:link.lin_01{/*超链接,未访问 ...

最新文章

  1. 星期和工作日计算,你会了吗?
  2. 速度×6,模型缩小20倍:用华为华科的TinyBERT做搜索,性能达BERT 90%
  3. python123数值运算_python基础篇【第二篇】:数据运算、数据类型
  4. 从0开始利用宝塔linux面板+DSShop搭建一个简单的购物网站
  5. intraweb php,使用 IntraWeb (40) - 自定义 Session 数据
  6. Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
  7. 1-6:学习shell之重定向
  8. 游戏大魔王少不了王者荣耀壁纸图片
  9. 链上期权协议 Opium 为 USDT 保险池引入流动性挖矿
  10. CATransition 动画
  11. App测试中ios和Android的区别2
  12. python物理建模初学者指南 pdf 脚本之家_Blender权威指南 罗聪翼 著 中文 PDF 清晰扫描版 [114M]...
  13. 华为核心交换机绑定IP+MAC+端口案例
  14. matlab中复华simpson,MATLAB Simpson的规则
  15. 有个懂你的人,是温暖
  16. 初学Python案例之一(开平方代码)
  17. java 和gps 建立连接_GPS 连接与定位
  18. slim的train
  19. 用好WinXP自带的虚拟光驱
  20. KF32A146之IIC读写外部EEPROM

热门文章

  1. RT-Thread:W25Q128虚拟U盘并搭载文件系统
  2. 编译工具:XMake 和 CMake对比分析
  3. 【uni-app】总结uni-app订单支付和打包发布
  4. python中迭代_python中的迭代什么意思
  5. 为什么技术面过了却挂在了HR面试之”谈谈你的职业生涯规划“
  6. xm-select使用
  7. 使用pytorch自己从头搭建一个Lenet分类器网络及其训练、检测脚本
  8. Shiro框架学习笔记、整合Springboot、redis缓存
  9. php手机投屏功能,电脑手机投屏怎么操作设置?
  10. 推荐 :数据可视化与信息可视化浅谈