這道題反覆做了好多次才ac,可能就是好久不做題的原因,第一次超時,陣列開得太太太大了,後來輸出錯誤,忘加!=eof了,後來一直wa,後來看網上**,知道自己題目理解錯了,首先0的階乘是1,其次倆個小的數的階乘不可能大於那個大數的,所以網上有人用dfs,把題目想難了,不過我很欣賞dfs,這道題用dfs好像有點小題大做了,但是可以避免我上述的那種情況,就是假如倆個小數的階乘大於大數的階乘,用dfs就完全沒有錯誤,我頭開始沒想到這麼搜尋,其次,不是連續的階乘相加,是隨意的
1 #include
<
stdio.h
>
2int
main()312
while
(scanf("%d
",&n)
!=eof&&n
>=0)
1319
for(i=11
;i>=0&&
n>0;i
--)2024
if(n==0
)25printf(
"yes\\n");
26else
27printf(
"no\\n");
28}29return1;
30}31還有怎麼這麼貼**了?是不是我這裡太卡了?順便說一句,今天晚上網路不卡了,太好了,後天就比賽了,今天終於拿到學校給的錢了,只有做acm才能使我安心。。。。。。
POJ 1164簡單搜尋
include include include include include include include include pragma warning disable 4996 using namespace std typedef long long ll int r,c int room ...
poj 3278 簡單搜尋bfs
題目大意 給出兩個數n,k 經過兩種操作使n成為k所需要的步數 操作1 n n 1或n n 1 操作2 n n 2 解題思路 用bfs搜尋,vis陣列標記狀態同時記錄到當前位置所用的步數 include include include using namespace std int n,k int ...
POJ 1321搜尋簡單題
在乙個給定形狀的棋盤 形狀可能是不規則的 上面擺放棋子,棋子沒有區別。要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列,請程式設計求解對於給定形狀和大小的棋盤,擺放k個棋子的所有可行的擺放方案c。input 輸入含有多組測試資料。每組資料的第一行是兩個正整數,n k,用乙個空格隔開,表示了將...