原创 數論中的一個小證明 如果一個整數的各個數字之和能被3(或9)整除,那麼這個數就一定能被(3 )或(9 )整除。
證明:以三位數爲例,100a+10b+c,如果a+b+c可以被3整除,那麼99a+9b+a+b+c也可以被三整除,9也同理,因爲個位數只有一位,所有隻能拆一份a+b+c,所以,只適用3,9。
原创 uva1631
題意:有一個n(n≤1000)位密碼鎖,每位都是0~9,可以循環旋轉。每次可以讓1~3個相鄰 數字同時往上或者往下轉一格。例如,567890->567901(最後3位向上轉)。輸入初始狀態 和終止狀態(長度不超過1000),問最少要轉幾次
原创 uva1375 難題
#include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<string> #include
原创 uva1204
#include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<string> #include
原创 uva12099 Bookcase ACM NWERC
書上,作者分析很詳細 #include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<stri
原创 uva1228
#include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<string> #include
原创 uva242
題目描述:假定一張信封最多貼5張郵票,如果只能貼1分和3分的郵票,可以組成面值1~13以及 15,但不能組成面值14。我們說:對於郵票組合{1,3}以及數量上限S=5,最大連續郵資爲 13。 輸入S(S≤10)和若干郵票組合(郵票面值不超
原创 uva1629
題目描述:有一個n行m列(1≤n,m≤20)的網格蛋糕上有一些櫻桃。每次可以用一刀沿着網格線把 蛋糕切成兩塊,並且只能夠直切不能拐彎。要求最後每一塊蛋糕上恰好有一個櫻桃,且切割 線總長度最小。 分析:dp切割行和列 #include<i
原创 uva1630
題目描述:給出一個由大寫字母組成的長度爲n(1≤n≤100)的串,“摺疊”成一個儘量短的串。例 如,AAAAAAAAAABABABCCD摺疊成9(A)3(AB)CCD。摺疊是可以嵌套的,例 如,NEERCYESYESYESNEERCYES
原创 uva10118
題意:給定4堆糖果,每堆有n顆,有一個最多可以裝5個糖果的袋子,每次選擇一堆糖果,把最頂上的一顆拿到袋子裏,如果袋子裏有兩顆一樣的糖果就拿走。問最多可拿幾對。 分析:枚舉每次可以從4堆中任意一堆拿走。 #include<iostream
原创 對局匹配
小明喜歡在一個圍棋網站上找別人在線對弈。這個網站上所有註冊用戶都有一個積分,代表他的圍棋水平。 小明發現網站的自動對局系統在匹配對手時,只會將積分差恰好是K的兩名用戶匹配在一起。如果兩人分差小於或大於K,系統都不會將他們匹配。 現在小明知
原创 發現環(並查集)
#include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<string> #include
原创 搭積木
問題描述 小明對搭積木非常感興趣。他的積木都是同樣大小的正立方體。 在搭積木時,小明選取 m 塊積木作爲地基,將他們在桌子上一字排開,中間不留空隙,並稱其爲第0層。 隨後,小明可以在上面擺放第1層,第2層,……,最多擺放至第n層。擺放積
原创 uva1628 最優路徑問題
和修繕長城uva1336一起看 #include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<
原创 uva10559
兩種情況:1.找到相似方塊直接消去 2.將中間方塊枚舉消去,兩邊方塊可以累計平方更大。 #include<iostream> #include<algorithm> #include<math.h>