#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 ...