43 最少運算元
問題描述 :
陣列a中共有n個元素,初始全為0。你可以對陣列進行兩種操作:1、將陣列中的乙個元素加1;2、將陣列中所有元素乘2。求將陣列a從初始狀態變為目標狀態b所需要的最少運算元。
輸入說明 :
第一行乙個正整數n表示陣列中元素的個數
第二行n個正整數表示目標狀態b中的元素
n<=50,b[i]<=1000
輸出說明 :
輸出一行表示最少運算元
輸入範例 :
27 8
輸出範例 :
解決思路:
1.逆推思想
2.求最少運算元(奇數與偶數分開求解)
#include
intmain()
if(number[i]!=0
) flag=1;
}if(flag==0)
break
;//全部算完了
for(i=
0;i) number[i]
=number[i]/2
;//偶數統一除以2
count++;}
printf
("%d\n"
,count)
;return0;
}
從後往前插生成指定序列最少運算元
acm 題目 給定兩個 1 n 的排列 a 和 b。定義一種操作 每次可以取出 a的最後乙個數,然後插入到 a 的任意乙個位置 任意兩個數中間或者最前面 現在要把 a 轉化為 b,問最少需要幾次操作 ps 這道題wa了無數遍,一次次嘗試終於嘗試出正確做法.解法 我們可以知道如果前面的排亂了,那麼最後...
挑戰題一(3)
設計課程 course 結構 如 p50例 2 2 1 過載 運算子,查詢出課程名為 英語 的記錄 2 過載 運算子,查詢出開課學時為 72的所有記錄 3 過載 運算子,查詢出開課學時 80 的所有課程記錄。設計main 函式,先建立 p51的表 2 1,然後實現上述功能。根課本的例子基本一致 但我...
Python挑戰第三題
根據經驗,給出大字串在網頁源 注釋中!一看應該是字串處理,找被三個大寫字母左右包圍的小寫字母。那就用最方便的正規表示式處理。import urllib2 import re f urllib2.urlopen data f.read reg re.compile a z a z a z a z a ...