SSL 2893 穀倉的安保

2021-10-09 06:42:40 字數 1330 閱讀 1469

farmer john給穀倉安裝了乙個新的安全系統,並且要給牛群中的每乙個奶牛分配乙個有效的密碼。乙個有效的密碼由l(3 <= l <= 15)個小寫字母(來自傳統的拉丁字母集』a』…『z』)組成,至少有乙個母音(『a』, 『e』, 『i』, 『o』, 或 『u』)和兩個子音(除去母音以外的音節),並且是按字母表順序出現的(例如,'abc』是有效的,而』bac』不是) 。給定乙個期望長度l和c個小寫字母,寫乙個程式,列印出所有的長度為l、能由這給定的c個字母組成的有效密碼。密碼必須按字母表順序列印出來,一行乙個。你的程式只需輸出前25,000個有效密碼,即使後面還存在有效密碼。

第一行: 兩個由空格分開的整數,l和c;

第二行: c個空格分開的小寫字母,密碼是由這個字母集中的字母來構建的。

第一至?行: 每乙個輸出行包括乙個長度為l個字元的密碼(沒有空格)。輸出行必須按照字母順序排列。如果存在多於25,000個有效密碼,你的程式必須在輸出25,000個有效密碼後停止。

4 6a t c i s w

acis

acit

aciw

acst

acsw

actw

aist

aisw

aitw

astw

cist

cisw

citw

istw

這道題可以根據我之前的一篇部落格排列的生成來修改,題中有兩個要求:乙個是一母音二子音,另乙個是如果有多,只輸出25000個,這兩個要求必須要注意。

#include

#include

#include

using

namespace std;

int a[16]

,n,m,ok[27]

,o1,o2,s=0;

char b;

void

init()

}void

dfs(

int dep,

int sum)

if(o1==

0||o2<=1)

return

;//要求一

for(

int i=

1;i<=n;i++

)cout<<

char

(a[i]+96

);cout

(s==

25000

)exit(0

);//要求二

return;}

for(

int i=sum+

1;i<=

26;i++)}

}int

main()

SDUT 2893 B(DP 記憶化搜尋)

time limit 1000ms memory limit 65536k 有疑問?點這裡 有n塊地板排成一條直線,從左到右編號為1,2,3.n 1,n,每塊地板上有乙個權值w。如今要小b用這n塊地板玩乙個遊戲。小b能夠選擇隨意一塊地板作為起點,然後向右跳k次,每次最多能夠跳5個格仔 設起跳點地板編...

bzoj2893 集合計數

乙個有n個元素的集合有2 n 個不同子集 包含空集 現在要在這2 n個集合中取出若干集合 至少乙個 使得 它們的交集的元素個數為k,求取法的方案數,答案模1000000007。是質數喔 一行兩個整數n,k 一行為答案。3 2 樣例說明 假設原集合為 則滿足條件的方案為 資料說明 對於100 的資料,...

免費 SSL 和 便宜 SSL 介紹

startssl.com startcom公司提供免費startssl class 1 證書,有效期1年,證書到期後可以免費續期,根證書除 ie6 之外幾乎全部支援,申請具有一定難度,對 有一定的核審。不過昔日有使用其證書無論伺服器做國內國外都被 q 的事情。cloudflare.com 國際知名的...