hdu 1226 超級密碼

2021-07-09 09:27:21 字數 727 閱讀 5299

題意:給出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 ...