一開始做這個題目還是覺的挺煩的,主要是要加個四個變數,然後比較,比較起來還比較麻煩。。。(繞口令,呵呵)。
首先,不需要找到的次序,而且m<=20,所以不會有爆棧的風險。
然後就是怎麼去解決的問題,因為所有的木頭都是整數,所以我們考慮這個問題,所以我們可以預見的是,一旦總和%4不為0的話,則一定是不可能。
下面就是dfs
dfs的技巧只有兩步:
1.vis陣列的改變的技巧
2.層數和條件的呼叫
ac**(vj提交):
#include #include #include #include using namespace std;
int m,l;
const int maxn=30;
int a[maxn];
bool vis[maxn];
long long sum;
bool dfs(int x,int pos,int len)
int main(){
int c;
scanf("%d",&c);
while(c--)
{sum=0;
scanf("%d",&m);
for(int i=0;i
2016寒假訓練 二分
poj3104 用模擬會超時,所以考慮用二分節約時間 首先分析,實際上是每一次都是去烘乾水量最大的,風乾其他的,然後烘完再排序一下,重複這一操作,直到所有的都為1。當然,模擬顯然是會超時的。所以我們這樣考慮,我們這樣考慮,如果對於乙個時間t,我們的有一部分衣服就會自然風乾,有一部分衣服需要自己來烘乾...
2016寒假訓練 字典樹
還是字典樹,是判斷是否有字元是另乙個的字首,kuangbin的部落格上說交立即碼。有扯遠了。看官別介意。其實就是字典樹的使用,只不過就是在build tree的時候就判斷就好了?下面是一些注意點 1.注意一旦不成立了,下面就不用繼續建樹了。這樣節約時間。2.注意這些不是太容易找到結束的輸入,注意多次...
2016級ACM寒假訓練(一)
problem a time limit 1000ms memory limit 65535k 跳傘是乙個技術活,某空軍新來了一批新兵,為了訓練新兵跳傘的準確度,指揮官想了乙個好辦法,他在訓練場畫了乙個矩陣,每個格仔有乙個數字,如果某士兵跳到了 x,y 格點,那麼他的得分便是他周圍的八個格仔上的數字...