您的位置:首页 > 其它

2013 长沙邀请赛 HDU 4572 Bottles Arrangement(推理)

2014-04-12 10:13 381 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4572

题目:每行有1-m的瓶子,有n列,要求去摆瓶子,要求相同列不能有相同的瓶子,并且相同行相邻瓶子间差值不能超过1,问摆完后,最大一行的总和的最小值是多少。

思路:推理,假设放一个最大的瓶子,两边肯定放小的,在两边肯定放更小的,所以最后推出来为从中间往两边放依次大小递减即可

代码:

#include <stdio.h>
#include <string.h>

int m, n;

int main() {
while (~scanf("%d%d", &m, &n)) {
n = (n + 1) / 2;
printf("%d\n", (m + (m - n) + 1) * n - ((m - n) + 1));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: