KIDx的解题报告
进入USACO要注册才能看题: http://train.usaco.org/usacogate
题目:【翻译版、是别处的网站】
http://www.wzoi.org/usaco/11%5C304.asp
/*
ID: 1006100071
LANG: C++
TASK: barn1
*/
#include <iostream>
#include <algorithm>
using namespace std;
#define M 205
int a[M];
struct point{
int d, i;
}x[M];
bool cmp (point a, point b)
{
return a.d > b.d;
}
bool cmp2 (point a, point b)
{
return a.i < b.i;
}
int main()
{
/*freopen ("barn1.in", "r", stdin);
freopen ("barn1.out", "w", stdout);*/
int k, n, m, ans = 0, pre, i;
scanf ("%d%d%d", &k, &m, &n);
k = min (k, n); //注意……
k--; //分割点个数
for (i = 0; i < n; i++)
scanf ("%d", a+i);
sort (a, a+n);
for (i = 0; i < n - 1; i++)
x[i].d = a[i+1] - a[i], x[i].i = i;
sort (x, x+n-1, cmp);
sort (x, x+k, cmp2);
pre = a[0]; //pre是第i个组的起点
for (i = 0; i < k; i++)
{
ans += a[x[i].i] - pre + 1; //x[i].i第i个组的终点下标
pre = a[x[i].i+1]; //把下一个元素作为下一组的起点
}
ans += a[n-1] - pre + 1; //最后一组
printf ("%d\n", ans);
return 0;
}
分享到:
相关推荐
从文件 barn1.in 中读入数据。 第 1 行: M , S 和 C(用空格分开) 第 2 到 C+1行: 每行包含一个整数,表示牛所占的牛棚的编号。 输出 输出到文件 barn1.out 中。 单独的一行包含一个整数表示所需木板的最小总长度。 ...
usaco 合集,包括英文原题和中文译题,测试数据以及答案,很全啊!usaco 合集usaco 合集usaco 合集usaco 合集
usaco 上的题目barn1,beads,calfflac,可到那里查看具体题目
Big Barn 巨大的牛棚(usaco动规含测试数据)
usaco历年测试数据
usaco上的题目barn1的答案,绝对正确
某些USACO题目的答案,很详细,代码清晰结构良好,算法高效易于调试
usaco 2010-2011 nov news,喜欢usaco的朋友可以看看
usaco的总结和心得 包括了对题目的分了和总结 以及对题目的解法概括
USACO题集及答案
USACO 官网第一到 五章 练习题中文语言官方数据 fps格式支持导入所有OJ ...11 [1.3] 修理牛棚 Barn Repair 12 [1.3] 牛式 Prime Cryptarithm 13 [1.3] 虫洞 wormhole 14 [1.3] 滑雪课程设计Ski Course Design
USACO做题代码
USACO教程,包含USACO全部英文原题,题解(NOCOW整理版),翻译,教程,代码,测试数据。
USACO历年比赛测试数据:2003年 方便大家测试
USACO全部译题 USACO Training Program Gateway
usaco traning的全部数据 才要3分
内含USACO全部测试数据,绝对全
USACO题解+代码+翻译,好东西,超级齐全,对大家帮助不小,特别是现在nocow挂了
USACO所有题目的题解 NOCOW整理版
USACO1.1的源代码,新手入门可用 Only post for the new c++ students