CCF 20180903 元素選擇器

2021-09-01 22:35:39 字數 1484 閱讀 5767

題意: 找出給定html文件的對應元素所在位置。

分析: 字串問題大模擬, ccf經典題。

**: 這道題只得了80分, 還在找bug。

#include

using

namespace std;

const

int maxn =

111;

struct item //html文件

item[maxn]

;int fa[maxn]

;//當前元素的父親元素所在位置

struct option //操作

option[maxn]

;string arr[maxn]

;vector<

int> vi[maxn]

;//儲存結果

int main (

)//solve

//預處理html文件

memset (fa,-1

,sizeof

(fa));

for(

int i =

0; i < n; i++)if

(arr[i]

[j]==

' ')

if(flag)

tmp +

= arr[i]

[j];

else

tmpid +

= arr[i]

[j];

} item[i]

.text = tmp;

item[i]

.id = tmpid;

item[i]

.dot = dot;

for(

int k =

0; k < item[i]

.text.

length()

; k++

)for

(int j = i; j >=

0; j--)}

}/*for (int i = 0; i < n; i++)

else

} option[i]

.op[sz]

= tmp;

option[i]

.len = sz;

option[i]

.id = i;

}for

(int i =

0; i < m; i++)}

}}/* for (int i = 0; i < m; i++)

cout << endl;}*/

//查詢匹配

for(

int k =

0; k < m; k++

)else}if

(j2 ==-1

)}}for

(int i =

0; i < m; i++

) cout << endl;

}return0;

}

CCF認證 2018 09 元素選擇器

總結了下,這道題就是個大坑題 兩個方面很坑,一是題意不明確,讓人有誤解,二是資料水,也導致讓人更加不懂題意了 解釋下題意,我最後得出的結果是 這題應該是讓人構造一棵樹,按照輸入的文字前面的點來劃分層級 對於每行來說,他的父節點應該是向上查詢第乙個點數小於自己的行 例如樣例,應該是這樣一顆樹 按照標籤...

CCF201809 3 元素選擇器

中文題見題面 其實一看到那個文件的表示方式,就很容易想到可以用一顆數來表示,查詢時直接遍歷樹即可。1 樹結點 每個節點儲存一行的標籤和id屬性,其結點編號為所在行號,即每行乙個結點。2 建樹 這裡建樹可能有兩個思路,乙個是遞迴建樹,即建樹邊輸入,這個在實際的操可能比較麻煩 可能要回溯到很久以前的結點...

CCF 2018 9 3 元素選擇器

元素選擇器 題目描述 思路 模擬題,簡化版的元素選擇器,首先建立儲存每一層的節點,節點中包括標籤,id屬性和縮排。由於對於標籤的大小寫不敏感,因此統一將標籤設定為小寫,用到了庫函式tolower進行轉換。設定search函式用來查詢在陣列中縮排小於level且標籤或屬性等於s的元素,如果有就返回tr...