題意: 找出給定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...