hdu 1518 square解題報告

2021-06-21 09:21:48 字數 503 閱讀 4998

/*此題剛看時真沒思路,搜了下別人的解題報告才有思路,還是用了個多小時

題意:給出很多棍子,問能否正好拼出個正方形

此題用回溯,乙個數乙個數的搜,如果之和為正好為給出所以數總數的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...