codevs1322 單詞矩陣

2022-05-08 05:39:11 字數 2178 閱讀 4321

題目描述 description

對於包含字母a到y各一次的單詞s,將其從上到下從左到右寫在乙個5*5的矩陣中,如單

詞adjptbekqucglrvfinswhmoxy寫出來如下:

a d j p t

b e k q u

c g l r v

f i n s w

h m o x y

若該矩陣滿足每一行每一列的字母都是字典序遞增的則稱s為優美的,如上述單詞就是

優美的,而adjptbegqucklrvfinswhmoxy則不是(第二列不滿足要求)。

your task

將所有優美的單詞按字典序列出,從小到大編號1,2,……

請你完成以下兩種任務:

1. 給定乙個優美的單詞,求其編號。

2. 給定乙個編號,求對應的優美的單詞。

輸入描述

input description

第一行乙個字母,w表示任務1,n表示任務2

若是任務1,第二行是乙個優美的單詞,否則第二行是乙個正整數,表示某個優美的單

詞的編號,保證該數不超過優美的單詞的總數

輸出描述

output description

一行,若是任務1,輸出對應編號,否則輸出對應的優美的單詞 

樣例輸入

sample input

w abcdefghijklmnopqrsutvwxy

樣例輸出

sample output

資料範圍及提示

data size & hint

樣例輸入二

n 20

樣例輸出二

abcdefghijklmnopqsuwrtvxy

正解:記憶化搜尋

解題報告:

今天考試t5,感覺好神啊,%%%。

考慮直接搜尋的話肯定會tle,但我們可以想到乙個點一定比他右下方的所有點權值小,這可以作為乙個剪枝。

那麼考慮記憶化搜尋,f[i][j][k][l1][l2]表示第一行擺了i個,第二行擺了j個,第三行擺了k個,第四行擺了l1個,第五行擺了l2個的方案數(保證五個數不降,才能保證合法性)

w操作也是類似的,只是每一位約束上界不能超過給定的字串,最後統計方案,輸出方案+1即可(要包括自己)。

1

//it is made by jump~

2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include

13using

namespace

std;

14 typedef long

long

ll;15

intn;

16char cc,ch[26

];17

int ans[26

];18

int f[6][6][6][6][6

];19

//f[i][j][k][l1][l2]表示第一行擺了i個,第二行擺了j個,第三行擺了k個,第四行擺了l1個,第五行擺了l2個的方案數,保證五個數不降,才能保證合法性

2021 inline int

getint()

2227

28 inline bool check(int x,int num)

2930 inline int dfs(int a,int b,int c,int d,int e,int

tot)

4142 inline void

work()51}

52 printf("

%d",n+1);//

加上自己53}

54else63}

64for(int i=0;i<25;i++) printf("

%c",ans[i]+'

a'-1

);65}66

}6768int

main()

69

Codevs1322 單詞矩陣

對於包含字母a到y各一次的單詞s,將其從上到下從左到右寫在乙個5 5的矩陣中,如單詞adjptbekqucglrvfinswhmoxy寫出來如下 a d j p t b e k q u c g l r v f i n s w h m o x y 若該矩陣滿足每一行每一列的字母都是字典序遞增的則稱s為...

Codevs 單詞接龍 DFS,substr

單詞接龍 深搜和substr 函式的使用。由於相連線的單詞只會是乙個連乙個,不可能出現乙個單詞隔著連兩個 這樣中間那個就沒用了 所以不需要儲存連線好的 龍 只需知道任意兩個單詞之間能否相連,最少幾個字母相連,隻後就可以用dfs來搜尋最長 龍 雖然理論上是會超時的,但資料較水,從題目中n 20也就應該...

CodeVS3013 單詞背誦

靈夢有n個單詞想要背,但她想通過一篇文章中的一段來記住這些單詞。文章由m個單詞構成,她想在文章中找出連續的一段,其中包含最多的她想要背的單詞 重複的只算乙個 並且在背誦的單詞量盡量多的情況下,還要使選出的文章段落盡量短,這樣她就可以用盡量短的時間學習盡可能多的單詞了。第1行乙個數n,接下來n行每行是...