luogu P1308 字元中的單詞查詢

2021-10-02 10:41:45 字數 672 閱讀 3630

這道題困了我一天…以下是我的**(解析見注釋)

#include

using

namespace std;

intmain()

}for

(i=0

;ilength()

;i++)}

for(i=

0;i<=words.

length()

-find.

length()

;i++

)//為什麼需要字串長度相減?後面**中words[i+j]的目的就是對應著find往後推j位

//所以說,最後的幾位(長度差)不需要再遍歷了(已經搜尋完整了)

//注意!退出j的迴圈時j+1了一次,後面用j的時候全部需要小心!!!卡卡卡!if(

(j==find.

length()

)&&(words[j+i]

==' '

||i+j==words.

length()

))}if

(cnt==0)

//輸出結果

else

return0;

}

LuoguP1032 字元變換(BFS)

題目鏈結為 思路 看到資料比較小,而且最多有6個規則,就可以用搜尋去做了,我用的bfs,大體思路如下 定義結構體表示狀態,其中包括字串str和當前步數num 並定義該結構體的佇列 用map實現string到int的對映,用來記錄某個狀態是否到達過,若到達過,標記為1,否則為0 bfs函式中就是bfs...

luogu P1098 字串的展開

演算法 模擬 難度 noip 題解 你只需要看明白題意就好啦!p2 k表示同乙個字元要連續填充k個 eg input 3 1 1 z l k d h output z l k d h 如下 include include include include include include include...

luogu P1032 字串變換

已知有兩個字串 a,b 及一組字串變換的規則 至多6個規則 a1 b1 a2 b2 規則的含義為 在 a 中的子串 a1 可以變換為 b1 a2 可以變換為 b2 例如 a abcd b xyz 變換規則為 abc xu ud y y yz 則此時,a 可以經過一系列的變換變為 b,其變換的過程為 ...