題意:給出n,c,m,密碼必須是n這個十進位制數的整數倍,c代表這個密碼是c進製數,m代表這個密碼只有m種字元構成,而且密碼不能長於500
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define n 20
using namespace std;
struct node
;int num[20];
int vis[5005];
int n,c,m,t;
/**由於數可能會很大,所以取餘*/
int mod(node nd)
return tp;
}//列印結果
void mprintf(node nd)
printf("\n");
}int bfs()
else}}
}while(!q.empty())
else
}nd.len--;}}
}return 0;
}int main()
//cout<<"<<<<<<"<
if(n != 0)
else
}return 0;}
HDU1226 超級密碼
include include include include includeusing namespace std define maxn 555 define maxm 5555 先解釋下,這個是用bfs廣度搜尋是否成立,不斷讓那些數字打入陣列num,看是否成立 大數模運算,只要成立就輸出退出,...
超級密碼 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 ...