思路:
首先用vector< node* > nodes記錄每一行的文件內容(也記錄了這一行的下標);
然後stack< node* > parents來找出上一層次的行。
vector< int > ans;//記錄結果
vector< string > sel;//儲存的是需要選擇的標籤或屬性(可能是1個,可能是2個)
然後check一下sel儲存那些選擇內容是否符合當前行,如果sel.size=2的話,還要處理符合的當前行的上一層(父親)是否符合sel[0](a)的選擇。
最後輸出ans陣列即可。
**:
#include
#include
#include
#include
#include
using namespace std;
struct node};
void divide(const string& line,vector
& sel)
else token+=line[i];}
sel.push_back(token);}
bool check(node* t,const string& s)
return
true;}
int main(
) now->parent=p;
//cout
"'s parent is "
name<} parents.push(now)
; nodes.push_back(now);}
vector ans;
vector sel;
while(m--)
if(sl==-1) ans.push_back(i+1);}
} printf(
"%d ",ans.size());
for(int i=0;i);i++) printf(
"%d ",ans[i]);
if(m!=0) printf(
"\n");
}return 0;
}
偽元素選擇器 屬性選擇器 兄弟元素選擇器
一 偽元素 使用偽元素來表示元素中的一些特殊位置 常用 1 first letter 為元素中的第乙個位置設定樣式 2 first line 為元素中的第一行位置設定樣式 3 before 為元素最前邊的部分設定樣式 一般before都需要結合屬性content樣式一起使用 通過content可以向...
元素選擇器
jquery 使用 css 選擇器來選取 html 元素。p 選取 元素。p.intro 選取所有 class intro 的 元素。p demo 選取所有 id demo 的 元素。jquery 使用 xpath 表示式來選擇帶有給定屬性的元素。href 選取所有帶有 href 屬性的元素。hre...
屬性選擇器,子元素選擇器,偽元素選擇器筆記
屬性選擇器 屬性名稱 屬性名稱 屬性值 子元素選擇器 第n個子元素 元素 nth child 1 最後乙個子元素 元素 last child 全部子元素 test test2 直接子元素 test test2 選擇後面的乙個元素 test div 選擇後面的多個元素 test div偽元素 通過cs...