USACO-Section1.3 barn1[贪心]
来源:互联网 发布:skype mac 编辑:程序博客网 时间:2024/04/30 02:17
题目大意:
有一排牛棚,在有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 必须尽快在牛棚之前竖立起新的木板。 新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 想将购买的木板总长度减到最少。
给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度 输出所需木板的最小总长度作为答案
样例输入:
4 50 18 3 4 6 8 14 15 16 17 21 25 26 27 30 31 40 41 42 43
样例输出:
25
题解:
贪心吧,找到最长的没有牛的牛棚,去掉就好。。水。。
代码:
C++/* ID: mujinui1 PROG: barn1 LANG: C++*/#include <iostream>#include <fstream>using namespace std;int main(){ ofstream fout ("barn1.out"); ifstream fin ("barn1.in"); int m,s,c; int a[210],b[210]; fin>>m>>s>>c; if(m>c){ fout<<c<<endl; } else{ for(int i=0;i<c;i++){ fin>>a[i]; } for(int i=0;i<c-1;i++){ for(int j=i;j<c;j++){ int temp; if(a[i]>a[j]){ temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(int i=0;i<c-1;i++){ b[i]=a[i+1]-a[i]-1; } for(int i=0;i<c-2;i++){ for(int j=i;j<c-1;j++){ int temp; if(b[i]<b[j]){ temp=b[i]; b[i]=b[j]; b[j]=temp; } } } int flag; flag=a[c-1]-a[0]+1; for(int i=0;i<m-1;i++){ flag-=b[i]; } fout<<flag<<endl; } return 0;}
阅读全文
0 0
- USACO-Section1.3 barn1[贪心]
- barn1-section1.3
- USACO-Section1.3 milk[贪心]
- 【USACO】【贪心】Section1.3 Mixing Milk 题解
- USACO-Section1.3 Mixing Milk [贪心算法]
- USACO-Section1.3 Barn Repair [贪心算法]
- USACO-Section1.3 Mixing Milk【贪心算法】
- USACO-Section1.3 Barn Repair【贪心算法】
- USACO-Section1.3 Mixing Milk [贪心]
- USACO-Section1.3 Mixing Milk [贪心]
- USACO barn1
- 【USACO】barn1
- usaco barn1
- USACO-Section1.3 Wormholes
- USACO-Section1.3 Wormholes
- USACO Section1.3 混合牛奶
- USACO section1.3 Mixing Milk
- usaco.section1.3 wormhole(枚举)
- 你见或者不见,我就在那里。不离不弃!--(shadow DOM)(前端冷知识)
- 网页抓取方式(二)--Jsoup
- centos vi 不显示颜色处理
- Lintcode70 Binary Tree Level Order Traversal II solution 题解
- 如何勾搭程序员?这有 11 个正确的姿势
- USACO-Section1.3 barn1[贪心]
- Binary String Matching
- containsKey
- NLTK学习笔记(三):NLTK的一些工具
- 平衡树——2-3树(Binary Search Tree
- 通过opengl es 2.0来实现yuv(NV21)的显示
- Oracle 库缓存 和shared Cursor (下)
- websocket学习资料总集
- 传输控制协议TCP