HDU1226 超級密碼

2021-07-23 20:30:28 字數 576 閱讀 7161

#include#include#include#include#includeusing namespace std;

#define maxn 555

#define maxm 5555

/* 先解釋下,這個是用bfs廣度搜尋是否成立,不斷讓那些數字打入陣列num,看是否成立

大數模運算,只要成立就輸出退出,不成立就繼續,因為不能有重複的餘數,所以不會死迴圈

不能有重複的餘數,不然會死迴圈

*/struct node;

bool digit[22];//紀錄可以用這個數

bool mark[maxm];

int n,c,m;

//判斷c進製的密碼轉10進製能否被n整除,大數模法

int judge(node &p)

return tmp;

} bool bfs()}

else }}

}return false;

} int main()

if(n==0)else if(!bfs())

}return 0;

}

hdu 1226 超級密碼

題意 給出n,c,m,密碼必須是n這個十進位制數的整數倍,c代表這個密碼是c進製數,m代表這個密碼只有m種字元構成,而且密碼不能長於500 include include include include include include include include include include ...

超級密碼 HDU 1226

ignatius花了乙個星期的時間終於找到了傳說中的寶藏,寶藏被放在乙個房間裡,房間的門用密碼鎖起來了,在門旁邊的牆上有一些關於密碼的提示資訊 密碼是乙個c進製的數,並且只能由給定的m個數字構成,同時密碼是乙個給定十進位制整數n 0 n 5000 的正整數倍 如果存在多個滿足條件的數,那麼最小的那個...

hdu1226 超級密碼 bfs

思路 因為n 5000 所以方案個數也只有5000個,可以用bfs來做。一開始挺糾結怎麼做,但是上網一看別的大牛的 一下子就恍然大悟豁然開朗,如同撥開雲霧見青天 o include include include include using namespace std const int maxn ...