博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
USACO Barn Repair
阅读量:6458 次
发布时间:2019-06-23

本文共 1231 字,大约阅读时间需要 4 分钟。

hot3.png

不知道上面怎么想的 ,下面的思路更简单:

有M个木板就表明从最小的编号的牛棚到最大的中间有M-1个段可以不覆盖到,找出每两个有牛的牛棚中间隔了多少距离,在这些距离中找前M-1个,这些不用覆盖,那么最小的木板总长度就是整个牛棚的连续长度(最小的编号到最大的)减去这M-1个不用覆盖的长度,就得到答案了

/*ID: nenusb1LANG: CTASK: barn1 */#include 
#include 
#include 
int cmp(const void * a, const void * b){    return (*(int *)b - *(int *)a);}int main(){    freopen("barn1.in","r",stdin);    freopen("barn1.out","w",stdout);    int M,S,C;//max board num, stall num, cow num    scanf("%d %d %d",&M,&S,&C);         int stall[210];    int i;    memset(stall, 0 ,sizeof(stall));    int min = S+1;    int max = 0;        for(i = 1; i <= C; i++){          int temp;          scanf("%d", &temp);          if(temp > max) max = temp;          if(temp < min) min = temp;          stall[temp] = 1;    }        int pre = min;    int j = 0;    int len[210];    memset(len, 0, sizeof(len));    for(i = min; i <= max; i++){          if(stall[i] && i > pre){               len[j++] = i-pre-1;//两头牛中间隔着的棚数                pre = i;               }    }        qsort(len, j, sizeof(int),cmp);        //printf("%d %d %d %d %d\n", len[0], len[1], len[2], max, min);//8 5 3 43 3    int left  = 0;    for(i=0; i

转载于:https://my.oschina.net/kaneiqi/blog/205955

你可能感兴趣的文章
可以免费下载视频素材和模板网站汇总
查看>>
SPOJ104 Highways,跨越数
查看>>
使用rman备份异机恢复数据库
查看>>
Win7-64bit系统下安装mysql的ODBC驱动
查看>>
node中非常重要的process对象,Child Process模块
查看>>
Webserver管理系列:3、Windows Update
查看>>
Linux内核源码详解——命令篇之iostat[zz]
查看>>
Sqlserver2000联系Oracle11G数据库进行实时数据的同步
查看>>
明年计划
查看>>
ORACLE功能GREATEST功能说明具体实例
查看>>
DataGridView 输入数据验证格式(实例)
查看>>
HDOJ 2151
查看>>
Foundation框架 - 快速创建跨平台的网站页面原型
查看>>
open-falcon
查看>>
三菱plc输出指示灯不亮怎么办(转载)
查看>>
doc2vec使用说明(一)gensim工具包TaggedLineDocument
查看>>
Q:图像太大,在opencv上显示不完全
查看>>
修正锚点跳转位置 避免头部fixed固定部分遮挡
查看>>
利用ItextPdf、core-renderer-R8 来生成PDF
查看>>
NavigationController的使用
查看>>