USACO1.3 修理牛棚 Barn Repair
2017-02-05 15:17
489 查看
修理牛棚
在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer John想将他购买的木板总长度减到最少。
给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为答案。
分析:先算出只用一块木板的长度,然后减去m-1个最大间隔。
时间复杂度:O(n^2)
代码
const
maxn=200;
var
a,b:array[0..maxn] of longint;
n,s,c,i,j,ans:longint;
begin
readln(n,s,c);
if n>=c then begin writeln(c);halt;end;
for i:=1 to c do
readln(a[i]);
for i:=1 to c-1 do
for j:=i+1 to c do
if a[i]>a[j] then
begin
a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
end;
for i:=1 to c-1 do
b[i]:=a[i+1]-a[i]-1;
for i:=1 to c-2 do
for j:=i+1 to c-1 do
if b[i]<b[j] then
begin
b[0]:=b[i];b[i]:=b[j];b[j]:=b[0];
end;
ans:=a[c]-a[1]+1;
for i:=1 to n-1 do
ans:=ans-b[i];
writeln(Ans);
end.
题目描述
在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer John想将他购买的木板总长度减到最少。给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚里牛的总数C(1 <= C <=S);和牛所在的牛棚的编号stall_number(1 <= stall_number <= S),计算拦住所有有牛的牛棚所需木板的最小总长度。 输出所需木板的最小总长度作为答案。
分析:先算出只用一块木板的长度,然后减去m-1个最大间隔。
时间复杂度:O(n^2)
代码
const
maxn=200;
var
a,b:array[0..maxn] of longint;
n,s,c,i,j,ans:longint;
begin
readln(n,s,c);
if n>=c then begin writeln(c);halt;end;
for i:=1 to c do
readln(a[i]);
for i:=1 to c-1 do
for j:=i+1 to c do
if a[i]>a[j] then
begin
a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
end;
for i:=1 to c-1 do
b[i]:=a[i+1]-a[i]-1;
for i:=1 to c-2 do
for j:=i+1 to c-1 do
if b[i]<b[j] then
begin
b[0]:=b[i];b[i]:=b[j];b[j]:=b[0];
end;
ans:=a[c]-a[1]+1;
for i:=1 to n-1 do
ans:=ans-b[i];
writeln(Ans);
end.
相关文章推荐
- GreenOpenPaint的实现(六)图片的保存和打开_0
- Sklearn-train_test_split随机划分训练集和测试集
- GreenOpenPaint的实现(一)基本框架_0
- GreenOpenPaint的实现(一)基本框架
- Training2:位操作训练
- MFC中重写OnPaint实现双缓冲绘图
- curl: (6) Could not resolve host: www.baidu.com;
- 使用kubernetes创建容器一直处于ContainerCreating状态的原因查找与解决
- 人工智能手机即将到来
- word 2010 页眉 http://jingyan.baidu.com/article/a65957f4b0208624e77f9b55.html
- BUPT2017 wintertraining(15) #2 题解
- ORA-12012: error on auto execute of job “SYS”.”BSLN_MAINTAIN_STATS_JOB”
- LeetCode 70. Climbing Stairs
- 【转】promise chain 中如何传递参数
- dubbo异常:Failed to check the status of the service . No provider available for the service 解决
- Quartz教程三:Job与JobDetail介绍
- 企业批量部署Win7(三)—— AIK应答文件磁盘管理部分详解
- Callback Promise Generator Async-Await 和异常处理的演进_2
- Mac air安装virtual box虚拟机后,与ubuntu16.04共享文件夹
- Callback Promise Generator Async-Await 和异常处理的演进_1