原題鏈結
:題目意思大致如下:
首先給你乙個可用字符集,比如:prog
那麼我們需要計算的單詞,都是在這個集合內的元素,否則單詞的權值是0
那麼可以組成的單詞rog pog rop等等
計算單詞的最大權值,但是單詞可以拼接起來。
但是拼接起來後還是要在可用集合中,且個數都不能超支。
下面是題目對用的程式:
1#include
<
iostream
>
2#include
<
algorithm
>
3using
namespace
std;
4struct
words dic[
40002];5
char
collect[
8] ;
6int
used[
26] , has[
26] ,len , num , collect_max , tmax ;
7int
value[
26] =;
8bool
cmp( words p , words q )
9int
main()
1013
while
( gets(dic[num].word) )
1423
if(dic[num].word[i]==0
) 2427}
28}29sort(dic,dic
+num,cmp);
30int
len3=0
,k;31
for(
inti=0
;i<
num;
++i)
if(dic[i].len
<=
3) len3=i;
32for
(int
score
=collect_max ; score
>0;
--score )
3335
for(
inti
=num-1
;i>0;
--i)
36for
(intj=
len3;j
>=0;
--j)
3745}46
}47return0;
48}49
2749 分解因數 POJ
總時間限制 1000ms 記憶體限制 65536kb 描述給出乙個正整數a,要求分解成若干個正整數的乘積,即a a1 a2 a3 an,並且1 a1 a2 a3 an,問這樣的分解的種數有多少。注意到a a也是一種分解。輸入第1行是測試資料的組數n,後面跟著n行輸入。每組測試資料佔1行,包括乙個正整...
POJ3648 2SAT解的求得
include include include include include include using namespace std const int nn 100 const int mm 1000 struct twosat void addedge int u,int v void tar...
poj 2688 狀態壓縮dp解tsp
題意 裸的tsp。分析 用bfs求出任意兩點之間的距離後可以暴搜也可以用next permutation水,但效率肯定不如狀壓dp。dp s u 表示從0出發訪問過s集合中的點,目前在點u走過的最短路程。poj 2688 sep9 include include using namespace st...