"演算法競賽入門經典"一書中的某題如下
輸入正整數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 ...