摘要: 把整数1,2,3...n组成一个环, 相邻两环之和为素数, 每种环输出一次.1. 穷举所有排列. 排列总数为n!个.当n取17时, 运算结果如下:total: 0. with running time: 3.994225 sec.已经有些吃力了Orz...(代码有点啰嗦, 这里可以直接使用next_permutation()来实现)额..后来发现这个属于回溯.#define S 17int total = 0;int N[S] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};int C[S] = {0};bool isPrime(int n) { . 阅读全文
posted @ 2012-12-07 15:54 tsubasa_wp 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 回溯法, 全排列生成问题, 枚举量不超过 n! 个.#define S 4int n = S;int tot = 0;int C[S] = {0};void m_search(int cur) { if ( cur == n ) { tot += 1; for ( int i = 0; i < n; i++ ) printf("%d ", C[i]); printf("\n"); return; } for ( int i = 0; i < n; i++ ) { int ok = 1; C[cur] = i... 阅读全文
posted @ 2012-12-07 12:28 tsubasa_wp 阅读(174) 评论(0) 推荐(0) 编辑