e題 sticks uva - 307
深搜一直沒廣搜熟練,這個看了好多部落格才理解,題意好懂,就是給你幾根木棍
問你能否拼成相同的長度l
主要是需要剪枝(需要剪的地方真心多)
1.l必須是sum的因子
2.搜尋過程中,如果前面的木棍沒有成功,那麼後面與它相同長度的木棍可以不用討論
3.從大到小排序
4.如果乙個木棍不成功 直接回溯
#include#include#includeusing namespace std;
int n,m,ans,sum,flag,le;
int a[1010],book[1010];
bool cmp(int x,int y)
void dfs(int x,int y,int u)//x是木棍編號,y是所需長度,u是所用個數
if(flag) return ;
for(i=x; i<=n; i++)
}}int main()
sort(a+1,a+n+1,cmp);
int l=a[1];
flag=0;
ans=sum;
for(le=a[1];le<=sum/2;le++)
if(flag) break;
}printf("%d\n",ans);
}return 0;
}
h題(infinite maze)
開始不明白題意
題意是給了乙個地圖的一部分,由無數個相同的單元組成,問不走回頭路能否無限的走下去
如果是乙個走過的點且不是上一次走過的點就說明是另一張地圖,也就可以無限的走
#include#include#include#includeusing namespace std;
#define inf 99999999
struct node
;const int n=2020;
char map[n][n];
int book1[n][n],book2[n][n];
int n,m,sx,sy;
void bfs()
; queueq;
u.x=sx;
u.y=sy;
book1[u.x][u.y]=sx;
book2[u.x][u.y]=sy;
q.push(u);
while(!q.empty())
else if(book1[tx][ty]!=v.x||book2[tx][ty]!=v.y)//這個地方卡住了 寫在了if裡面,必須是沒到達過的點才可以
//如果有乙個不相同就說明是不同於上次的到達的地圖}}
}printf("no\n");
return;
}int main()
book1[i][j]=inf;
book2[i][j]=inf;}}
bfs();
return 0;
}
python第一周心得 Python第一周總結
變數 不能為系統自帶的內建函式,如def,help,sum等等 變數不能已下劃線數字來開頭,對大小寫敏感 變數後直接接數字,則被賦值為整型,如何加引號則賦值型別為字串str型別 a 1 整型 int b 2 字串 str 用print 直接輸出 a hello print a 在 使用者想要同時輸出...
第一周周記
下面是整個文章的第二部分,日常的安利 這周的話,除了整體恢復正常,週末我也購置了我的第一塊外接鍵盤,這裡的話我選擇的是國產的靜電容鍵盤niz的plum 87鍵鍵盤。今天拿到這個鍵盤第一天,整體使用了一下,尺寸配合著15寸的蘋果macbook pro可以說恰到好處,除此以外,整個鍵盤還是給我不少驚喜的...
寒假第一周
寫了這個標題,感覺有點像寫周記的味道.那就盡量堅持這個寒假裡至少每週一篇吧。這幾天學校裡真的好清靜了,實驗室和寢室都沒人了。其實說起來這周算是我們寒假的第二週了吧,14號就全部考完了,從放假的基本定義來看,那時候就算是寒假了。只不過上週這邊人還比較多,而且本科生也都沒考完,校歷上也是這週才算開始放假...