狀態不好a...
第一題 noip 2000 單詞接龍
description
單詞接龍是乙個與我們經常玩的成語接龍相類似的遊戲,現在我們已知一組單詞,且給定乙個開頭的字母,要求出以這個字母開頭的最長的「龍」(每個單詞都最多在「龍」中出現兩次)。只要有重合的內容,兩個單詞就能夠連線起來。在兩個單相連線時,其重合部分合為一部分,例如 beastst和ststonish,如果接成一條龍則變為beastststonish(也可以連線為 beaststonish,但單詞的長度比前者要短)。另外重合的兩部分不能存在完全的包含關係,例如at 和 atide 間不能相連,但ata和ataide可連線為atataide。
input
第一行為乙個單獨的整數n (n<=20)表示單詞數,以下n 行每行有乙個單詞(長度不超過20),輸入的最後一行為乙個單個字元,表示「龍」開頭的字母。以此字母開頭的「龍」一定存在.
output
只需輸出以此字母開頭的最長的「龍」的長度
sample input
5attouch
cheat
choose
tact
a
sample output
23一看就是dfs,但是關鍵是怎麼知道兩個字串能否接上,和接上後公共部分的長度。用字元陣列比字串簡便。
#include #include char str[30][1001],temp[1001];
int f[30][30],used[30],ans,n;
//f[i][j]表示第i個詞和第j個詞的公共部分長度
void search(int k,int len)
}int main()
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f[i][j]=max(be[i][j]+f[i-1][j],_new[i][j]+f[i][j-1]);
//決策:當前塊運送be礦還是new礦
cout<
迎新年賽歡樂賽題解
是博主在洛谷搞的邀請賽,雖然有些過時。t1 暴力呀,很水 懶得寫題解 然而不道為什麼沒人ac t2 純數學手法,找1 n中有幾個 5 這個因子 include using namespace std intmain cout return 0 t3 01揹包問題,然而要用高精度,沒人ac。沒高精度的...
水題歡樂賽 套路
套路是人類進步的階梯,我將不惜一切代價套路學習 費清澄 恩恩真是太對了 zqc是乙隻套路的犰 zqc有乙個套路題庫,當然,他為了讓這個套路題庫不被發現,給題庫加了密。這個題庫有很多密碼,你只有輸入套路密碼後,你才能看到題目,並且題目的質量和套路密碼的長度成正比.根據你獲取到的情報,套路密碼為兩個字串...
ContestHunter暑假歡樂賽 SRM 06
t1二分check。為什麼這麼顯然的我沒看出來tat,還在想倒著加入並查集check什麼的,題寫太多思維定勢啦qaq t2是noip題的弱化版。當時沒看出來,寫了個dp。可以看出這一位比上一位大還是小只由轉移的長度奇偶來決定,開兩個bit分別維護奇偶下標是權值來幫忙轉移就行了 t3幾何題qaq好像得...