演算法競賽入門經典第七章暴力求解法7 1節第一題

2021-05-28 14:28:39 字數 544 閱讀 2593

"演算法競賽入門經典"一書中的某題如下

輸入正整數n,按從小到大的順序輸出所有形如 abcde/fghij=n的表示式,其中a~j恰好為數字0~9的乙個排列,2<=n<=79。

樣例輸入:

62樣例輸出:

79546/01283=62

94736/01528=62

直接的解決方法就是對除數進行dfs暴力搜尋,直到找到符合條件的為止。

#includeusing namespace std;

int vis[10]; //n標識位為1表示n是在除數中,n標識為2表示n在被除數中

int a[5];

int target;

void dfs(int a, int cur)

int sum = t * target;

while(sum)

vis[tmp] = 2;

} cnt ++;

cout<>target;

cnt = 0;

dfs(a,0);

cout<<"total counts: "<

演算法競賽入門經典 劉汝佳 第七章暴力

0 1 增量構造法 include include include include using namespace std int n,t 100 ans 100 void solve int cur,int tpre int main return 0 2 位向量法vis i 1表示選中t i 這...

紫書第七章 暴力求解法(全排列演算法)

本程式是遞迴實現全排列演算法。思想是分別讓誰打頭。以1,2,3,4為例,一共只有4位,第一位可以分別讓1,2,3,4打頭,以第一位是1為例,第二位可以分別讓2,3,4打頭,以第二位是2為例,第三位可以分別讓3,4打頭,以第三位是4為例,第四位固定是4,輸入此排列。其他情況類似輸出。去重 以序列1,2...

演算法競賽入門第七章 1 暴力列舉

def create m,obj list range 10 defremove 2 x,l l l l.remove x return l ans if m 0 return 0 for i in obj ans tmp create m 1,remove 2 i,obj for each in ...