NYOJ106背包问题

来源:互联网 发布:mysql查看数据库编码 编辑:程序博客网 时间:2024/05/17 02:11

原题链接

#include<stdio.h>struct stu {int v;int w;}st[15];int main() {int t,n,m,k,i,j,sum;stu s;scanf("%d",&t);while(t--) {scanf("%d%d",&n,&m);for(i=0;i<n;i++)scanf("%d%d",&st[i].v,&st[i].w); for(j=1;j<=n-1;j++)        for(i=0;i<=n-j-1;i++)            if(st[i].v<st[i+1].v)            {                s=st[i],st[i]=st[i+1],st[i+1]=s;            }        sum=0;k=0;        for(i=0;i<n;i++) {        if(st[i].w+k<=m) {        k+=st[i].w;        sum+=st[i].v*st[i].w;         }        else {        sum+=st[i].v*(m-k);         break;        }        }        printf("%d\n",sum);} return 0;} 
1032657hpu_yw背包问题Accepted4232C/C++10-30 21:51:30

0 0
原创粉丝点击