/*此題剛看時真沒思路,搜了下別人的解題報告才有思路,還是用了個多小時
題意:給出很多棍子,問能否正好拼出個正方形
此題用回溯,乙個數乙個數的搜,如果之和為正好為給出所以數總數的1/4,則邊數加一;
*/#include
using namespace std;
int n,m;
int sum,len;
int a[22],v[22];
int ok;
void dfs(int cur,int l,int b)//cur 第幾條邊,l 當前邊的長度,b,陣列中第幾個,其實可以不要這個,但會超時,因為訪問過的就不必再訪問
if(ok==1)//保證能跳出
return ;
if(cur!=4)}}
int main()
if(len>sum/4||sum%4!=0)//小小的剪枝
cout<<"no"}return 0;
}
hdu1518Square 經典深搜
好久沒做深搜了,上午優哉遊哉的想自己的為啥超時要咋剪枝呢,得到下午就考生態期中的噩耗直接跑出去了 說題意 乙個月前學弟問過,簡單看過 都忘了,b 既然是深搜,函式引數裡面一定是帶著需要用的量的 對於這個題來說,帶著的三個引數分別是 當前這條邊的長度,湊完的邊數,從第幾個木棍開始找 看這個 就在糾結 ...
hdu 1518 又一道搜尋經典
剛剛做過hdu 1455那道搜尋題,在來做這道,那就像切菜一樣。好吧,還是說一下大意吧。這次是為正方形了。就是所有的木棒從頭到尾相連,判斷能否組成乙個正方形。搜尋過程沒有像1455那題有那麼多的剪枝 orz,我是直接暴力的。還是上 吧。1 include2 include3 using namesp...
hdu3790解題報告
這裡起點和終點都是確定的,唯一有點小麻煩 也算不上什麼麻煩 就是這裡的權值有兩個,錢和路長,題目要求選擇最短路,對於一樣長度的路選擇錢最少的路.那麼我們每次就對路長鬆弛,對於路長一樣的在對錢鬆弛.不懂鬆弛操作的很抱歉 ac 840k 109ms include includeusing namesp...