USACO 1.3 Barn Repair (快排+贪心)
来源:互联网 发布:des算法加密过程 编辑:程序博客网 时间:2024/05/16 18:06
#include <stdio.h>#define DEBUG 0#define TESTCASES 9#define MAX_STALLS 200int numOfBoards, numOfStalls, numOfCows;int stallOccupied[MAX_STALLS + 1];int arrayOfIntervals[MAX_STALLS];int numOfIntervals;void sort(int array[], int first, int last){while (first < last){int pivotValue = array[first];int left = first;int right = last;while (left < right){while (left < right && array[right] >= pivotValue)right--;array[left] = array[right];while (left < right && array[left] <= pivotValue)left++;array[right] = array[left];}array[left] = pivotValue;int pivot = left;sort(array, first, pivot);first = pivot + 1;}}int main(){#if DEBUGint testCase;for (testCase = 1; testCase <= TESTCASES; testCase++){char inputFileName[20] = "barn1.inX";inputFileName[8] = '1' + (testCase - 1);freopen(inputFileName, "r", stdin);printf("\n#%d\n", testCase);#endifscanf("%d %d %d", &numOfBoards, &numOfStalls, &numOfCows);int cow;for (cow = 1; cow <= numOfCows; cow++)scanf("%d", &stallOccupied[cow]);if (numOfBoards >= numOfCows){printf("%d\n", numOfCows);#if DEBUGcontinue;#elsereturn 0;#endif}sort(stallOccupied, 1, numOfCows);numOfIntervals = 0;for (cow = 1; cow < numOfCows; cow++)arrayOfIntervals[++numOfIntervals] = stallOccupied[cow + 1] - stallOccupied[cow] - 1;sort(arrayOfIntervals, 1, numOfIntervals);int numOfIntervalsUncovered = numOfBoards - 1;int stallsUncovered = 0;while (numOfIntervalsUncovered--)stallsUncovered += arrayOfIntervals[numOfIntervals--];int stallsBlocked = stallOccupied[numOfCows] - stallOccupied[1] + 1 - stallsUncovered;printf("%d\n", stallsBlocked);#if DEBUG}#endifreturn 0;}
0 0
- USACO 1.3 Barn Repair (快排+贪心)
- USACO 1.3 - Barn Repair(贪心)
- USACO/Barn Repair(贪心)
- USACO Barn Repair----贪心
- 【USACO-Chapter1-1.3】【贪心】Barn Repair
- usaco 1.3 Barn Repair(贪心)
- usaco-1.3.2-Barn Repair(贪心算法)
- USACO 1.3 Barn Repair(贪心)
- USACO-Section 1.3 Barn Repair(贪心)
- usaco Barn Repair (贪心)
- USACO 1.3-Barn Repair
- USACO 1.3 Barn Repair
- USACO 1.3 Barn Repair
- USACO--1.3Barn Repair
- USACO 1.3 Barn Repair
- USACO 1.3-Barn Repair
- USACO|Barn Repair|堆|贪心|动态规划
- USACO-Section1.3 Barn Repair [贪心算法]
- 莫队算法 sqrt(n)分块思想
- iOS开发 ----- 仿QQ实现滑动显示后边按钮
- A011-raw资源
- Wireless Network 并查集
- java中string与其他类型数据之类的转换
- USACO 1.3 Barn Repair (快排+贪心)
- [BZOJ1617] [Usaco2008 Mar]River Crossing渡河问题
- 硬盘和操作系统数据块
- KE Keil工程每次编译都编译所有文件
- 计算两个字符串间符合字典序且在一定长度内的字符串个数
- CERC 2012 题解 (A~K)
- IOS上 关于状态栏的相关设置(UIStatusBar)
- hdoj 2404 Permutation Recovery【基础题】
- python对字符串实现四则运算