201809 3 元素選擇器

2021-09-11 22:48:46 字數 1017 閱讀 7839

ccf201809的第三題 題目就不粘上來了!

設計思路:

首先要用乙個結構體來儲存每一行文件,有等級、標籤以及id。其次需要注意的是標籤不區分大小寫!

對於選擇器,大致可以分為兩種,第一種是只有單個的標籤或者id,這種直接遍歷文件即可(也就是我們處理過後的結點陣列);第二種是分層的,這種我們需要從選擇器的最後乙個標籤或是id尋起,比如:div p,我們先在文件中尋找到p,再在等級的約束下去找div(從下向上找)。不論是哪種,對於文件的遍歷都最好是從下向上!

下面是一些需要用到的資料結構,我做了乙個簡單的整理。

(一)結構體:可以理解為類的簡單形式,其定義與宣告形式如下:

struct node; 

node a[100];

(二)容器:vector是向量型別,是動態的,可以容納多個相同的合法型別。其中一些基本用法:

#include vectorans;//定義了乙個string型別的容器

ans.push_back(str);//在向量末尾新增元素

for(vector::iterator it=ans.begin();it(三)string的特殊函式:strtok()

函式原型:char *strtok(char *s,char *delim)

該函式以delim為分隔符分割字串s,返回切割出的第乙個子串;當s值為null時,函式儲存上一次訪問的位置。

嘻嘻,功夫不負有心人,終於做出來這道題啦!第一次嘗試完整寫ccf第三題,有參考過很多大佬的思路,在此謝過啦!下面開始粘**啦~~~~ 

#include #include #include #include #include using namespace std;

struct node;

string tolow(string s)

} }

//多層選擇器

else

cout<} return 0;

}

201809 3 元素選擇器

模擬題,細心細心再細心,整個結構是乙個樹型的結構。include include include include include includeusing namespace std typedef long long ll const int inf 0x3f3f3f3f const double...

201809 3 元素選擇器

試題編號 201809 3 試題名稱 元素選擇器 時間限制 1.0s 記憶體限制 256.0mb 問題描述 注意 1 乙個元素的祖先是緊接著其上的縮排小於等於其縮排的那些元素 連續的區域 中的縮排小於其縮排的元素 沒有等於的元素,等於的元素只是起一種連線作用 2 後代選擇器只能是多個id或者是多個l...

201809 3 元素選擇器

題目描述 解題思路 定義node,裡面有他的id,和他的標籤,還有他的縮排。由於標籤大小寫不敏感,那就全部轉換成小寫 如果沒有標籤那麼就把標籤置為空 查詢的時候分成兩個,是否是後代選擇器 如果不是的話,判斷是不是標籤查詢,如果是標籤查詢 標籤查詢大小寫不敏感 轉換成全小寫進行匹配 如果是後代選擇器,...