農夫約翰最近想發一些秘密的資訊,但是他不想讓奶牛們知道。這些資訊是『a』到』z』的字元組成的,長度至少是2。
為了對這些資訊進行加密,農夫約翰對這些資訊進行了一系列的操作,每次操作,約翰把字串s去掉從第乙個開始連續的若干個字元或者從最後乙個字元開始連續若干個字元(至少去掉乙個字元,也不能全部去掉),然後把剩餘的字串新增到原來s串的左邊或者右邊。例如,對於字串abc,一次操作可以有8種結果:
aabc
ababc
bcabc
cabc
abca
abcab
abcbc
abcc
現在給定最後加密好的字串,約翰想要知道這個字串可能由多少種方法加密而來,注意,aaa可以由aa通過四種加密操作得來,雖然產生的aaa是一樣的,但是加密的過程是不一樣的我們就認為是不同的方法。
乙個字串。
輸出這個加密的字串可以由多少種方法加密而來。【答案要mod 2014】
ababa
8
這道題實際上是深搜+複製字串的判斷
我們可以得知我們擷取的字串,會在「原串」中有對應的字串,如果存在,那麼它必然在左邊或者右邊。
再具體細判左右,接著處理。
c++自帶函式substr()可以很好的應用到這道題裡。
#
include
#include
#include
#include
#include
using
namespace std;
mapint>g;
//用個stl的map
string str;
intdfs
(string str)
if(len>=
2) ans++
; ans=ans%
2014
;//取模
g[str]
=ans;
//g[str]的方案數為ans
return ans;
}int
main()
2020 02 16普及C組模擬賽7(第四題)
題目描述 從前有一條神奇的項鍊,為什麼說它神奇呢?因為它有兩個性質 神奇的項鍊可以拉成一條線,線上依次是n 個珠子,每個珠子有乙個能量值ei 除了第乙個和最後乙個珠子,其他珠子都滿足ei ei 1 ei 1 2 di。由於這條項鍊很長,我們只能知道其兩端珠子的能量值。並且我們知道每個珠子的di是多少...
noip2011普及組第四題
要用棧寫比較方便,速度也還挺快o n 主要是每遇到乙個非括號符號就插兩個數進數字棧裡,遇到符號就從優先順序入手,比如匹配到加號然後棧裡面有乘號就要先解決棧裡面的乘號,直到遇到 符號為止。有乙個小技巧就是開頭先再字串後面加乙個 再把左括號加入棧內。等下就不用去清棧,可以保證執行完後棧必空。includ...
2016藍橋杯A組java第四題
分小組9名運動員參加比賽,需要分3組進行預賽。有哪些分組的方案呢?我們標記運動員為 a,b,c,i 下面的程式列出了所有的分組方法。該程式的正常輸出為 abc def ghi abc deg fhi abc deh fgi abc dei fgh abc dfg ehi abc dfh egi ab...