演算法暴力搜尋,dfs;
注意 有些情況下可以直接判斷:
1.把要「剪碎」的數全都拆成一位數,此時和最小,如果這種情況下和都比目標數大,說明沒有成立的情況,輸出「error」;
2.要「剪碎」的數本身比目標數還小(或相等),那麼最優的情況就是不進行任何處理,直接輸出兩遍原數。
**實現
#include#include#include#include#define inf 210000000;using namespace std;
int a[7]=;
int num=0,numm=0,x,y,mx=0,cnt;
int tmp[10],b[10]; //tmp為臨時陣列,存當前切出來的數;b存最優解;
bool f=0;
void dfs(int y,int cnt,int ans) //要處理的部分;要處理的部分的位數;已處理的部分的和; }
for (int i=1;i<=cnt;i++) //列舉切割位數; }
int main()
ans+=t;
if (ans>x) //特判1;
cnt++;
dfs(y,cnt,0); //搜尋;
if (f) //有多個最優解;
{ cout<<"rejected"<
noi1805 碎紙機 搜尋
題目分析 搜尋,從當前節點出發,擴充套件出兩種狀態,就是和下乙個數組合與否,超過了就剪枝,記錄狀態.並判重.先用了類似排列的做法,寫了一上午,9個點過了6個,寫的有的麻煩,懶得再改了.然後參考了別人的 結果自己處理邊界的出錯,導致最後乙個數是0的時候出錯,然後花了不少時間才找出來.include i...
嫦娥 有望18 05發射
10月24 道 嫦娥一號 衛星從公升空到環月飛行,北京航天飛行控制中心將全過程實施統一排程 指揮和控制。昨天,本報記者獨家專訪了飛控中心總 工程師 嫦娥一號繞月探測飛行任務北京航天飛控中心技術組組長王也雋。他透露,嫦娥一號 公升空後大約400秒,地面將接收到其從太空傳回的訊號。起飛前半小時授權發射 ...
cogs1805 飛揚的小鳥 dp
題意 一堆管子,問怎麼用最少點選次數穿出去。就是個裸揹包啊 優化都沒有 另外這份 在 uoj 上被 hack 了,有沒有某位 dalao 幫忙找找問題 1 include2 include3 include4 include5 using namespace std 6const int maxn ...