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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

裝船問題

2019-11-09 20:53:27
字體:
供稿:網(wǎng)友

PRoblem Description

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

Input

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

Output

輸出一個(gè)整數(shù),表示可以得到的最大價(jià)值。

Example Input

10010 1020 1030 1040 1050 1060 1070 1080 1090 10100 10

Example Output

550

Hint

價(jià)重比:計(jì)算其價(jià)值與重量之比

C++

#include<stdio.h>#include<algorithm>    using namespace std;    struct node    {      int p;      int w;      int bi;    }size[10];    int cmp(node a,node b)    {      return a.bi>b.bi;    }    int main()    {      int m,i,sum,flag;      scanf("%d",&m);         sum=0;flag=0;         for(i=0;i<10;i++)         {            scanf("%d%d",&size[i].p,&size[i].w);            size[i].bi=size[i].p/size[i].w;         }         sort(size,size+10,cmp);        for(i=0;i<10;i++)        {            if(flag<m)            {                sum+=size[i].p;                flag+=size[i].w;            }            else if(flag==m)            {                break;            }            else            {                flag=flag-size[i-1].w;                sum=sum-size[i-1].p;                sum=sum+(m-flag)*size[i-1].bi;                break;            }        }        printf("%d/n",sum);       return 0;    }

   C

#include<stdio.h>struct node{      int p;      int w;      int bi;}size[10],t;int main(){    int m,sum,flag,i,j;    scanf("%d",&m);        sum=0;        flag=0;        for(i=0;i<10;i++)        {            scanf("%d %d",&size[i].p,&size[i].w);            size[i].bi=size[i].p/size[i].w;        }        for(i=0;i<10;i++)        {            for(j=0;j<9-i;j++)            {                if(size[j].bi<size[j+1].bi)                {                    t=size[j],size[j]=size[j+1],size[j+1]=t;                }            }        }        for(i=0;i<10;i++)        {            if(flag<m)            {                sum+=size[i].p;                flag+=size[i].w;            }            else if(flag==m)            {                break;            }            else            {                flag=flag-size[i-1].w;                sum=sum-size[i-1].p;                sum=sum+(m-flag)*size[i-1].bi;                break;            }        }            printf("%d/n",sum);    return 0;}


上一篇:a[255]的值

下一篇:poj2028

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南郑县| 横峰县| 阜康市| 蓝田县| 离岛区| 即墨市| 嘉祥县| 大田县| 石台县| 东安县| 丰原市| 甘洛县| 清河县| 泗水县| 乌审旗| 秦皇岛市| 邵阳县| 通海县| 泾源县| 连南| 凯里市| 延寿县| 甘谷县| 钟祥市| 康平县| 武乡县| 汝州市| 翼城县| 班玛县| 东港市| 皮山县| 昌都县| 栾川县| 南昌县| 杭锦后旗| 安西县| 辉南县| 个旧市| 个旧市| 蒲江县| 油尖旺区|