Wannafly挑戰賽10 B小h和密碼

2021-08-15 20:39:40 字數 709 閱讀 9499

b小h和密碼

小h在擊敗怪獸後,被乙個密碼鎖擋住了去路

密碼鎖由n個轉盤組成,編號為1~n,每個轉盤有m個位置,每個位置上要麼有乙個小寫字母,要麼沒有任何字元。乙個密碼能被轉盤表示出,當且僅當指定每個轉盤上面的某乙個位置,然後將這些位置按照所屬的轉盤編號順次連線(空位置直接忽略),可以得到這個密碼

小h並沒有得到任何線索,因此只能猜,她一共猜了q次,但並不知道自己猜的密碼能否被表示出來,於是她向你求助

利用dp思想,設dp[i][j] :為用前i個轉盤表示前j個密碼是否可行(1or0)

#include

#include

#include

#include

using

namespace

std;

bool dp[330][330],flag[330][30];

char str[10010];

int n,m,q;

void init()

}}int main()

memset(dp,0,sizeof(dp));

dp[0][0] = 1;

for(int i=0;ifor(int j=0;j<=i&&j<=len;j++)

}printf("%s\n",dp[n][len]?"yes":"no");}}

return

0;}

Wannafly挑戰賽10 小H和密碼

一開始用的dfs很明顯過不去,後來看大佬的 原來是動態規劃,另外這題的資料太水了,不少 連樣例都過不去卻可以ac,我也是服了orz。分別用乙個二維陣列dial和乙個一維陣列empty來表示密碼盤,dial存的是第i個密碼盤上有哪些字母,empty表示第i個密碼盤是否有 即空字元。再設定乙個二維陣列d...

Wannafly挑戰賽10 A小h和迷宮

a小h和迷宮 小h陷入了乙個迷宮中,迷宮裡有乙個可怕的怪獸,血量有n點,小h有三瓶魔法藥水,分別可以使怪獸損失a b c 的血量 之後怪獸的血量會向下取整 小h想合理地運用這三瓶藥水,使怪獸失去盡可能多的血量 注意 每瓶藥水只能用一次 模擬即可,注意是血量向下取整,則失去的血量向上取整!includ...

Wannafly挑戰賽4 B,小AA的數列

題意 求子區間異或和,要求區間長度在l到r之間,並且為偶數 題解 對於每一位算貢獻,可以分奇偶來記錄,計算的時候只加上奇偶性相同的就保證了為偶數,從大於l的點開始每次 從大於r的點每次 記錄二進位製上所有權值和 include define fi first define se second def...