USACO 1.3 Mixing Milk (快排+贪心)
来源:互联网 发布:js邮箱的正则表达式 编辑:程序博客网 时间:2024/06/05 16:43
#include <stdio.h>#define DEBUG 0#define TESTCASES 9#define MAX_FARMERS 5000int milkNeeded;int numOfFarmers;typedef struct Farmer{int price;int milk;}Farmer;Farmer farmers[MAX_FARMERS + 1];void sortFarmersAccordingToPrice(int first, int last){while (first < last){Farmer pivotFarmer = farmers[first];int pivotPrice = farmers[first].price;int left = first;int right = last;while (left < right){while (left < right && farmers[right].price >= pivotPrice)right--;farmers[left] = farmers[right];while (left < right && farmers[left].price <= pivotPrice)left++;farmers[right] = farmers[left];}farmers[left] = pivotFarmer;int pivot = left;sortFarmersAccordingToPrice(first, pivot);first = pivot + 1;}}int mix(){int minPrice = 0;int milkMixed = 0;int farmer;for (farmer = 1; farmer <= numOfFarmers; farmer++){if (milkMixed + farmers[farmer].milk >= milkNeeded){minPrice += farmers[farmer].price * (milkNeeded - milkMixed);break;} else {milkMixed += farmers[farmer].milk;minPrice += farmers[farmer].price * farmers[farmer].milk;}}return minPrice;}int main(){#if DEBUGint testCase;for (testCase = 1; testCase <= TESTCASES; testCase++){char inputFileName[20] = "milk.inX";inputFileName[7] = '1' + (testCase - 1);freopen(inputFileName, "r", stdin);printf("\n#%d\n", testCase);#endifscanf("%d %d", &milkNeeded, &numOfFarmers);int farmer;for (farmer = 1; farmer <= numOfFarmers; farmer++)scanf("%d %d", &farmers[farmer].price, &farmers[farmer].milk);sortFarmersAccordingToPrice(1, numOfFarmers);int minPrice = mix();printf("%d\n", minPrice);#if DEBUG}#endifreturn 0;}
0 0
- USACO 1.3 Mixing Milk (快排+贪心)
- USACO 1.3 - Mixing Milk(贪心)
- usaco Mixing Milk (贪心)
- 【USACO-Chapter1-1.3】【贪心】Mixing Milk
- USACO 1.3 Mixing Milk(贪心)
- USACO-Section 1.3 Mixing Milk(贪心)
- USACO section 1.3 Mixing Milk[贪心算法]
- USACO-section 1.3 Mixing Milk[贪心]
- USACO 1.3-Mixing Milk
- USACO 1.3 Mixing Milk
- USACO--1.3 Mixing Milk
- USACO 1.3 Mixing Milk
- USACO--1.3Mixing Milk
- USACO 1.3 Mixing Milk
- USACO 1.3-Mixing Milk
- USACO 1.3 Mixing Milk (milk)
- 【USACO】【贪心】Section1.3 Mixing Milk 题解
- USACO-Section1.3 Mixing Milk [贪心算法]
- 数据结构
- android中修改actionbar的背景颜色和字体颜色等
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- HYSBZ 2002 Bounce 弹飞绵羊(分块)
- Unity3D笔记第三天——GUI
- USACO 1.3 Mixing Milk (快排+贪心)
- 网络连接1 查看网络状态和webview
- linux basename命令学习
- 一步一步做一个linux文件传输软件(三)
- cglib动态代理
- 第02章 Hello Box2D
- 历史上最全的xcode下载地址
- 返回指针值的函数(1)
- POI生成Excel一个简单的分页例子