日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > UVA - 1374 Power Calculus 迭代深搜

UVA - 1374 Power Calculus 迭代深搜

來源:程序員人生   發布時間:2015-06-08 08:12:15 閱讀次數:2704次

題目大意:問從1變到n最少需要多少步。變換規則以下
1.變化進程中的中間結果可以任意使用
2.每次只能挑選兩個數進行加減

解題思路:先算1下最少需要多少步,然后在如果在當前步數下沒法到達結果的話,就當前步數加1,繼續搜索下去

#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define maxn 1010 int num[maxn], cnt, n ,MIN_depth; bool dfs(int cur, int depth) { if(depth >= MIN_depth) { if(cur == n) return true; return false; } int MAX = 0; for(int i = 0; i < cnt; i++) MAX = max(MAX,num[i]); if( ((cur + MAX) << (MIN_depth - depth - 1)) < n) return false; for(int i = cnt - 1; i >= 0; i--) { num[cnt++] = cur + num[i]; if(dfs(cur + num[i], depth+1)) return true; cnt--; num[cnt++] = cur - num[i]; if(dfs(cur - num[i],depth+1)) return true; cnt--; } return false; } int main() { while(scanf("%d", &n) == 1 && n) { MIN_depth = 0; int t = 1; while(t < n) { t += t; MIN_depth++; } while(1) { num[0] = cnt = 1; if(dfs(1,0)) break; MIN_depth++; } printf("%d ", MIN_depth); } return 0; }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品成人av | 国产亚洲精品精品国产亚洲综合 | 黄色av一区二区三区 | 精品久久av | 簧片av| 国产精品久久久久久久免费软件 | 欧美激情专区 | 国产一区二区成人 | 伊人论坛 | 亚洲国内精品 | 三级av毛片 | 中文字幕亚洲综合久久久软件 | 一区二区三区视频 | 精品人伦一区二区三区蜜桃网站 | 日批视频免费观看 | 国产午夜精品久久久久久久 | 四虎伊人 | 久久精品亚洲一区二区 | 成人欧美一区二区三区黑人孕妇 | 精品久久久久久久久久久下田 | 久久午夜精品 | 国产激情视频在线观看 | 99只有精品 | 黄色电影网站在线观看 | 在线视频日韩精品 | 中文字幕国产在线 | 国产综合久久久 | 久久久久亚洲 | 欧美一级片在线 | av九九 | 国产日本在线 | 国产理论一区二区三区 | 精品一区在线 | 国产精品久久综合 | 99在线视频观看 | 亚洲专区在线 | 欧美性xxxxhd| 久久国产精品首页 | 91玖玖 | 91精品国产综合久久男男 | 亚洲午夜电影 |