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

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

裝船問題

2019-11-11 00:07:32
字體:
來源:轉載
供稿:網友

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

10010 1020 1030 1040 1050 1060 1070 1080 1090 10100 10

Example Output

550

Hint

價重比:計算其價值與重量之比

Author

 

01#include<stdio.h>
02struct huo
03{
04    int w, p;
05    double b;
06} a[10], t;
07int main()
08{
09    int i, m, k, sum, j;
10    scanf("%d", &m);
11    for(i = 0; i < 10; i++)
12    {
13        scanf("%d%d", &a[i].p, &a[i].w);
14        a[i].b = a[i].p / a[i].w;
15    }
16    for(i = 0; i < 9; i++)
17    {
18        k = i;
19        for(j = i + 1; j < 10; j++)
20        {
21            if(a[i].b < a[j].b)
22                k = j;
23        }
24        if(k != i)
25        {
26            t = a[i];
27            a[i] = a[k];
28            a[k] = t;
29        }
30    }
31    i = 0;
32    sum = 0;
33    while(m > 0)
34    {
35        if(m > a[i].w)
36        {
37            sum += a[i].p;
38            m -= a[i].w;
39        }
40        else
41        {
42            sum += a[i].b * m;
43            m -= a[i].w;
44        }
45        i++;
46    }
47    printf("%d/n", sum);
48    return 0;
49}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家口市| 呼玛县| 鹤峰县| 翁牛特旗| 东辽县| 从化市| 普兰店市| 望谟县| 邯郸市| 瓦房店市| 溆浦县| 长垣县| 南宁市| 太和县| 辛集市| 安岳县| 淮滨县| 珲春市| 油尖旺区| 韩城市| 双鸭山市| 宜州市| 攀枝花市| 五河县| 灵山县| 绥棱县| 德清县| 鹤山市| 柳江县| 大新县| 涟源市| 谷城县| 澄迈县| 南城县| 宝山区| 南木林县| 临澧县| 卢龙县| 镶黄旗| 固始县| 永寿县|