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

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

裝船問題

2019-11-11 02:08:47
字體:
來源:轉載
供稿:網友

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}


上一篇:活動選擇問題

下一篇:MessageDigest簡介

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 屯昌县| 临泉县| 娱乐| 扎囊县| 茌平县| 黎川县| 东丽区| 濮阳县| 潢川县| 秦皇岛市| 普陀区| 中江县| 河北省| 金昌市| 台北县| 博客| 松阳县| 新泰市| 余姚市| 华亭县| 盐边县| 全南县| 玛纳斯县| 农安县| 镇平县| 济南市| 资阳市| 永胜县| 正安县| 寻乌县| 鹰潭市| 青龙| 读书| 子洲县| 长垣县| 海淀区| 惠来县| 香港 | 浦北县| 徐州市| 永胜县|