下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一.題目描述:在一個(gè)圓形操場(chǎng)的四周擺放著 N 堆石子(N=100),現(xiàn)要將石子有次序地合并成一堆. 規(guī)定每次只能選取相鄰的兩堆合并成新的一堆,并將新的一堆的石子數(shù)記為該次合并的得分. 編寫一程序,讀入堆棧數(shù) N 及每堆棧的石子數(shù)(=20). (1)選擇一種合并石子的方案,使用權(quán)得做 N-1 次合并,得分的總和最小;(2)選擇一種合并石子的方案,使用權(quán)得做 N-1 次合并,得分的總和最大;【輸入數(shù)據(jù)】第一行為石子堆數(shù) N;第二行為每堆的石子數(shù),每?jī)蓚€(gè)數(shù)之間用一個(gè)空格分隔.【輸出數(shù)據(jù)】從第一至第N 行為得分最小的合并方案. 第 N+1 行是空行.從第 N+2 行到第 2N+1行是得分最大合并方案.
2、 每種合并方案用N 行表示,其中第i 行(1=i=N)表示第i 次合并前各堆的石子數(shù)(依順時(shí)針次序輸出,哪一堆先輸出均可).并的兩堆石子數(shù)以相應(yīng)的負(fù)數(shù)表示.要求將待合輸入輸出范例:輸入:44 5 9 4輸出:-4 5 9 -4-8 -5 9-13 -9224 -5 -9 44 -14 -4-4 -1822程序源代碼: #include #includeusing namespatd; #define MAX_LONG 0 x7fstruct Node /當(dāng)前序列的合并方案 long c; /得分和d; /子序列的堆數(shù);long sumtype101101; /sumtypeij- 子序列i,j
3、的石子總數(shù)Nist101101; /listij - 子序列i,j的合并方案 date101,dt101; /datei - 第 i 堆石子數(shù),dt - 暫存 date i,j,N; /N - 石子堆數(shù), i,j - 循環(huán)變量voidPr(i,j) /遞歸打印子序列i,j的合并過程k,x; /k - 循環(huán)變量,x - 子序列中首堆石子的序號(hào)if(j != 1) /繼續(xù)倒推合并過程Pr(i,listij.d); /倒推子序列的合并過程x=(i+listij.d-1)%N+1; /求子序列中首堆石子的序號(hào)Pr(x,j-listij.d); /倒推子序列的合并過程for(k=1;k0) coutse
4、tw(4)datek;coutn;datei=datei+datex; /原第 i 堆和第 x 堆合并成第 i 堆datex=-datex; /將原第 x 堆從圈內(nèi)去除voidsolve(s)i,j,k; long t,x;for(i=1;i=N;i+) /僅含一堆石子的序列不存在合并listi1.c=0;listi1.d=0;for(j=2;j=N;j+) /順推含堆,含堆含 N 堆石子的各子序列的合并方案for(i=1;i=N;i+) /當(dāng)前考慮從第 i 堆數(shù)起,順時(shí)針數(shù)j 堆的子序列if(s=1) /合并i,j子序列的得分和初始化 listij.c=MAX_LONG;elselistij
5、.c=0;t=sumtypeij; /最后一次合并的得分為i,j子序列的石子總數(shù)for(k=1;k=j-1;k+) /子序列的石子堆數(shù)依次考慮堆j-1堆x=(i+k-1)%N+1; /求子序列首堆序號(hào)if(s=1 & listik.c+listxj-k.c+tlistij.c)/若該合并方案為目前最佳,則記下listij.c=listik.c+listxj-k.c+t; listij.d=k;/在子序列1,N,2,N,N, N中選擇得分總和最小(或最大)的一個(gè)子序列k=1;x=list1N.c; for(i=2;i=N;i+)if(s=1 & listiN.cx)k=i; x=listiN.c;Pr(k,N); /由此出發(fā),倒推合并過程coutsetw(4)sumtype1Nendl; /輸出最后一次將石子合并成一堆的石子總數(shù)coutn;/*coutlistkN.cendl;*/voidmain()coutN;cout輸入每堆石子數(shù):; for(i=1;idatei;for(i=1;i=N;i+) /求每一個(gè)子序列的石子數(shù) sumtype sumtypei1=datei;for(j=2;j=N;j+) for(i=1;i=N;i+)sumtypeij=datei+sumtypei%N+1j-1;for(i=1;i=N;i+) /暫存合并前的各堆石
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度幼兒園園服定制與校園安全管理服務(wù)合同3篇
- 2024年中醫(yī)藥產(chǎn)業(yè)投資基金合作購銷合同范本3篇
- 2024年度中小企業(yè)貸款擔(dān)保服務(wù)協(xié)議3篇
- 2024年度房產(chǎn)中介租賃市場(chǎng)拓展與房地產(chǎn)金融合同3篇
- 2024年度地毯行業(yè)會(huì)展與合作簽約合同3篇
- 2024年度校企合作綠色專業(yè)建設(shè)與發(fā)展框架協(xié)議3篇
- 2024年度醫(yī)療設(shè)備采購、安裝、維修一體化合同3篇
- 2024員工個(gè)人入股合作協(xié)議范本:股權(quán)激勵(lì)制度實(shí)施3篇
- 2024年房地產(chǎn)買賣貸款合同范本(含稅費(fèi)處理)3篇
- 2024年度魚池轉(zhuǎn)讓及生態(tài)養(yǎng)殖項(xiàng)目合作框架協(xié)議3篇
- 三單形式三年級(jí)英語練習(xí)題
- 程序設(shè)計(jì)基礎(chǔ)-C智慧樹知到期末考試答案章節(jié)答案2024年四川師范大學(xué)
- NBT-10779-2021空氣源熱泵集中供暖工程設(shè)計(jì)規(guī)范
- 骨科護(hù)理??谱o(hù)士護(hù)理知識(shí)筆試題及答案
- 計(jì)算機(jī)使用管理制度
- 中考語文押題作文范例7篇(含題目)
- 勞務(wù)分包方考核評(píng)價(jià)表格附表
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 中華民族共同體概論課件第十六講文明新路與人類命運(yùn)共同體
- (正式版)SHT 3158-2024 石油化工管殼式余熱鍋爐
- 鄉(xiāng)村振興產(chǎn)業(yè)基金規(guī)劃方案
評(píng)論
0/150
提交評(píng)論