NYOJ 248 BUYING FEED (贪心)
2014-04-19 21:49
344 查看
样例输入
样例输出
题意:一条数轴上有n个商店,第i个商店在Xi的位置,最多可以卖Fi磅feed,每磅Ci元。一个人从起点0开始,终点为E,当他到达E点时,至少要买K磅feed,带着1磅feed每前进一个单位,就要额外花费1元。求最小花费是多少。
分析:这道题可以用贪心来做。先求出这个人在每个商店买1磅到达E点时的花费,把它作为这个商店的单价,那么我们在买时就不用考虑这个商店与E点的距离,只需要贪心选择单价小的即可。
#include<stdio.h>
#include<algorithm>
using namespace std;
struct store
{
int x;
int f;
int c;
int cc;
}a[105];
bool cmp(store a1,store a2)
{
return a1.cc<a2.cc;
}
int main()
{
int c,sum;
scanf("%d",&c);
while(c--)
{sum=0;
int k,e,n,i;
scanf("%d%d%d",&k,&e,&n);
for(i=0;i<n;i++)
{scanf("%d%d%d",&a[i].x,&a[i].f,&a[i].c);
a[i].cc=a[i].c+e-a[i].x;
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
if(k>a[i].f)
{ sum+=a[i].cc*a[i].f;
k=k-a[i].f;
}
else
{
sum+=k*a[i].cc;
break;
}
}
printf("%d\n",sum);
}
return 0;
}
1 2 5 3 3 1 2 4 1 2 1 1 1
样例输出
7
题意:一条数轴上有n个商店,第i个商店在Xi的位置,最多可以卖Fi磅feed,每磅Ci元。一个人从起点0开始,终点为E,当他到达E点时,至少要买K磅feed,带着1磅feed每前进一个单位,就要额外花费1元。求最小花费是多少。
分析:这道题可以用贪心来做。先求出这个人在每个商店买1磅到达E点时的花费,把它作为这个商店的单价,那么我们在买时就不用考虑这个商店与E点的距离,只需要贪心选择单价小的即可。
#include<stdio.h>
#include<algorithm>
using namespace std;
struct store
{
int x;
int f;
int c;
int cc;
}a[105];
bool cmp(store a1,store a2)
{
return a1.cc<a2.cc;
}
int main()
{
int c,sum;
scanf("%d",&c);
while(c--)
{sum=0;
int k,e,n,i;
scanf("%d%d%d",&k,&e,&n);
for(i=0;i<n;i++)
{scanf("%d%d%d",&a[i].x,&a[i].f,&a[i].c);
a[i].cc=a[i].c+e-a[i].x;
}
sort(a,a+n,cmp);
for(i=0;i<n;i++)
{
if(k>a[i].f)
{ sum+=a[i].cc*a[i].f;
k=k-a[i].f;
}
else
{
sum+=k*a[i].cc;
break;
}
}
printf("%d\n",sum);
}
return 0;
}
相关文章推荐
- nyoj248 BUYING FEED(贪心orDP)
- NYOJ 248 BUYING FEED (贪心)
- nyoj 248 BUYING FEED 【贪心】
- NYOJ-248-BUYING FEED(第三届河南省程序设计大赛E题(贪心))
- NYOJ 248 BUYING FEED(过程分析:子排序+贪心)
- NYOJ 248 && BNUOJ 4151 BUYING FEED (贪心)
- NYOJ248-BUYING FEED
- nyoj 323 BUYING FEED 贪心
- NYOJ 248 BUYING FEED
- [河南省ACM省赛-第三届] BUYING FEED (nyoj 248)
- NYOJ 248 BUYING FEED
- nyoj 248 BUYING FEED 第三届河南省赛
- nyoj248 BUYING FEED
- NYOJ 248 BUYING FEED (贪心)
- new 第三届 BUYING FEED (贪心)(当时被题目吓到了,还以为是搜索)
- nyoj 题目 BUYING FEED 贪心算法
- NYOJ248(贪心)
- NYOJ1036 非洲小孩(又一道贪心水题,区间选点问题)
- nyoj914(二分搜索+贪心)
- nyoj307 宝物(最短路+贪心)