多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

UVA - 1374 Power Calculus 迭代深搜

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

題目大意:問從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; }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一级做a级爰片性色毛片视频 | 国产一区二区三区在线观看精品 | 欧美日本一道免费一区三区 | 日韩特黄特色大片免费视频 | 国产高清自拍 | 亚洲视频在线观看免费视频 | 黑粗硬大欧美视频 | 国内视频一区二区三区 | 国语精品视频在线观看不卡 | 久久久一区二区三区 | 成人影院www在线观看 | 成人国产精品一级毛片了 | 日韩一区二区三区四区不卡 | 国产福利第一视频 | 婷婷在线视频国产综合 | 国产精品综合一区二区三区 | 自拍亚洲欧美 | 亚洲片在线 | a免费毛片在线播放 | 毛片免费在线观看网址 | 色啪视频| 欧美xxx性| 国产亚洲精品国产福利在线观看 | 欧美一级毛片无遮挡内谢 | 国产性色强伦免费看视频 | 99r8这里精品热视频免费看 | 日韩爱爱片 | 日韩高清免费观看 | 亚洲宅男天堂a在线 | 99热精品成人免费观看 | 国产a一级| 日本高清免费网站zzzzzzzz | 99国产精品农村一级毛片 | 欧美18性欧美丶黑吊 | 国产激情一区二区三区成人91 | 亚洲欧美色综合自拍 | 亚洲精品永久免费 | 真实男女xx00动态视频120秒 | 欧美成人全部免费观看1314色 | 亚洲欧美综合国产精品一区 | 国产 | 久而欧洲野花视频欧洲1 |