POJ 1171 Letter Game 解題思路

2021-06-21 09:33:04 字數 1238 閱讀 3809

原題鏈結 

:題目意思大致如下:

首先給你乙個可用字符集,比如: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...