国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

裝船問題(快排解決

2019-11-10 21:28:50
字體:
來源:轉載
供稿:網友

裝船問題 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic PRoblem Description

王小二畢業后從事船運規劃工作,吉祥號貨輪的最大載重量為M噸,有10種貨物可以裝船。第i種貨物有wi噸,總價值是pi。王小二的任務是從10種貨物中挑選若干噸上船,在滿足貨物總重量小于等于M的前提下,運走的貨物的價重比最大。 Input

輸入數據的第一行有一個正整數M(0 < M < 10000),表示所有貨物最大載重量。在接下來的10行中,每行有若干個數(中間用空格分開),第i行表示的是第i種貨物的貨物的總價值pi ,總重量wi。(pi是wi的整數倍,0 < pi , wi < 1000) Output

輸出一個整數,表示可以得到的最大價值。 Example Input

100 10 10 20 10 30 10 40 10 50 10 60 10 70 10 80 10 90 10 100 10 Example Output

550

#include <stdio.h>#include <stdlib.h>typedef struct node{ int p; int w; double u;}sissy;sissy p[10001];int cmp(const void* a,const void* b)//快排 這里先不贅述,到時候早個時間在研究{ sissy* x = (sissy*)a; sissy* y = (sissy*)b; return y->u - x->u;}int main(){ int m; int i,j,k = 0; scanf("%d",&m); for(i=0; i<10; i++){ scanf("%d %d",&p[i].p,&p[i].w); p[i].u = (double)p[i].p/p[i].w; } qsort(p,10,sizeof(sissy),cmp); for(i=0; i<10; i++){//之前這里我老是出問題 if(m>p[i].w){ k += p[i].p; m -= p[i].w; } else{//就是因為沒有考慮到當船能裝的最大重量比質價比最高的一個的重量還小,就只能裝單位重量了 k += p[i].u*m; break; } } printf("%d/n",k); return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万盛区| 高密市| 东丰县| 洛浦县| 苍溪县| 镇巴县| 喀什市| 襄汾县| 赤壁市| 广东省| 巴彦淖尔市| 西昌市| 滁州市| 卢氏县| 樟树市| 崇义县| 龙岩市| 任丘市| 内江市| 洪洞县| 绩溪县| 祁东县| 太和县| 钟祥市| 孟连| 封丘县| 龙胜| 根河市| 施甸县| 辽中县| 连平县| 年辖:市辖区| 南川市| 沙雅县| 东平县| 兴安盟| 武宁县| 尼玛县| 五大连池市| 延庆县| 梅河口市|