HAOI2008 玩具取名

2022-05-05 13:06:12 字數 2276 閱讀 2556

[haoi2008]玩具取名

時間限制:c/c++

1秒,其他語言2秒

空間限制:c/c++

262144k,其他語言524288k

64bit io format:

%lld

某人有一套玩具,並想法給玩具命名。首先他選擇wing四個字母中的任意乙個字母作為玩具的基本名字。然後他會根據自己的喜好,將名字中任意乙個字母用「wing」中任意兩個字母代替,使得自己的名字能夠擴充得很長。

現在,他想請你猜猜某乙個很長的名字,最初可能是由哪幾個字母變形過來的。 輸入描述:

第一行四個整數w、i、n、g。表示每乙個字母能由幾種兩個字母所替代。 接下來w行,每行兩個字母,表示w可以用這兩個字母替代。

接下來i行,每行兩個字母,表示i可以用這兩個字母替代。 接下來n行,每行兩個字母,表示n可以用這兩個字母替代。

接下來g行,每行兩個字母,表示g可以用這兩個字母替代。 最後一行乙個長度不超過len的字串。表示這個玩具的名字。

一行字串,該名字可能由哪些字母變形而得到。(按照wing的順序輸出) 如果給的名字不能由任何乙個字母變形而得到則輸出「the name

is wrong!」

示例1

輸入

111

1iiwwww

igiiii

輸出

in
題目雖然輸入的是字母,但是我們可以當做數字來處理

重要的兩個陣列,均為bool型

dp[i][j][k]表示區間[i,j]是否是由k轉化而來的

can[i][j][k]表示i是否可以用 j k 兩個字母代替

can是在讀入時更新

我們想一想區間更新的條件:

區間[l,r],中間點為k

z,z1,z2為1~4,表示為wing

如果左區間[l,k+1]可以由z1轉化(即**dp[l][k][z1]),右區間[k+1,r]可以由z2轉化(**dp[k+1][r][z2]),

z可以用z1和z2來代替(**dp[z][z1][z2]),那是不是就說明區間[l,r]是由z轉化的

(相當於z1,z2是乙個中轉站,用來將區間[l,r]與z聯絡在一起)

套上區間dp的萬能模板

就能得到

for

(int i=

1;i<=len;i++

) dp[i]

[i][a[i]]=

true

;//從i到i可以由他自己轉化

for(

int led=

1;led)//列舉長度的可能性

for(

int l=

1;l<=len-led;l++

)//列舉左界的可能性

#include

using

namespace std;

const

int maxn=

3e2+7;

int dp[maxn]

[maxn]

[maxn]

;bool can[maxn]

[maxn]

[maxn]

;int p[maxn]

;char s[maxn]

;int a[

300]

;int

change

(char i)

intmain()

} cin>>

(s+1);

int n=

strlen

(s+1);

// cout(int i=

1;i<=n;i++

)dp[i]

[i][a[s[i]]]

=1;for

(int len=

2;len<=n;len++)}

}}}}

bool flag=

false;if

(dp[1]

[n][1]

)if(dp[1]

[n][2]

)if(dp[1]

[n][3]

)if(dp[1]

[n][4]

)if(!flag)

printf

("the name is wrong!");

}

移動玩具 HAOI2008

在乙個4 4的方框內擺放了若干個相同的玩具,某人想將這些玩具重新擺放成為他心中理想的狀態,規定移動時只能將玩具向上下左右四個方向移動,並且移動的位置不能有玩具,請你用最少的移動次數將初始的玩具狀態移 動到某人心中的目標狀態。前4行表示玩具的初始狀態,每行4個數字1或0,1表示方格中放置了玩具,0表示...

HAOI2008 移動玩具

非常抱歉,菜雞風潯凌又來水藍題了qwq 看到題解上寫雙向搜尋?什麼鬼.看到資料範圍特別小,直接劃分二分圖,兩個點之間連線容量為1,費用為曼哈頓距離的邊,跑費用流即可。什麼?你問我那個不能移動到有玩具的格仔的限制?不用管了啦,因為費用流會給你跑費用最小的,也就是每個點都會找到最近的那個點,不會有其他點...

HAOI2008 移動玩具

time limit 10 sec memory limit 162 mb submit 2561 solved 1430 submit status discuss 在乙個4 4的方框內擺放了若干個相同的玩具,某人想將這些玩具重新擺放成為他心中理想的狀態,規定移動 時只能將玩具向上下左右四個方向移...