博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
元素选择器的实现(C++)
阅读量:3952 次
发布时间:2019-05-24

本文共 1086 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述input

11 5html..head....title..body....h1....p #subtitle....div #main......h2......p #one......div........p #twop#subtitleh3div pdiv div p

output

3 6 9 111 602 9 111 11

简析:

这道题的题目很长,但是涅,明白它的中心意思。开始输入一个n和一个m,n(相当于)表示n个目录,m相当于有m个需要查询目录。接下来输出你的查询结果,如果没有这个目录就输出0,如果有这个目录,因为标签不唯一,所以返回多个目录,输出目录的个数和这些目录的位置。所以这道题需要注意的是当查询它的子目录时,比如A B,那么就要选择第一个A后面的那些B,如果是A A B,就要选择第二个A后面的B然后那么解题,因为标签大小写不分,所以直接把它们全部换为小写,定义2个容器,一个用来存答案,为int类型。另一个用来存字符串,定义为string类型又..代表一个缩进,那么我们记录下每一行的缩进,对该字符串做记录,具体代码如下:

Codes

#include
#include
#include
#include
using namespace std;int n,m;string s;struct ele{
string tag,id;//标签 int sj;//缩进 }e[110];bool solve(ele x[],int &y,int &z,string str){
for(int h=y;h>0;h--){
if(x[h].sj
>n>>m;getchar();//n行,m条目录 for(int i=1;i<=n;i++){
getline(cin,s); int nsj=0,p0=0,p1=0; for(int j=0;j
v0;vector
v1; gets(ch);char *sp=strtok(ch," "); while(sp){ v0.push_back(sp); sp=strtok(NULL," "); } int tmp=v0.size(); for(int j=0;j
=0){ if(!solve(e,st,nsj,v0[l])) break; l--; } if(l<0) v1.push_back(j); } } cout<

转载地址:http://jcwzi.baihongyu.com/

你可能感兴趣的文章
windows获得文件大小
查看>>
Host 'ETCV3' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
查看>>
OCILIB在VS2008中的使用
查看>>
OCILIB VC2008 效率测试
查看>>
PL/SQL设置NUMBER显示为字符串
查看>>
linux ftp 脚本 -- 使用程序执行脚本
查看>>
MFC CListBox的使用
查看>>
VS2008向MFC 对话框 添加托盘图标(显示和消失)
查看>>
redhat中vsftp开机自启动
查看>>
MySQL存储过程,生成大量数据
查看>>
查询字段值出现多次的字段值
查看>>
SQL Server表存在则进行查重 SQL语句
查看>>
redhat 9 下sqlite 3的安装及编程
查看>>
两个同步表的字段复制.Oracle.
查看>>
windows MySQL 报“Got a packet bigger than 'max_allowed_packet' bytes”错误,解决过程.
查看>>
在Redhat9下静态编译glib库.
查看>>
CImg库编译使用.
查看>>
SQL Server循环执行动态SQL语句.
查看>>
ubuntu10.4网卡名由eth0改为eth4,导致获得不了IP地址.解决方法.
查看>>
CheckPoint关键词做字段名使用.
查看>>