HDU 5835 Danganronpa弹丸论破

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Description

题目描述

Chisa Yukizome works as a teacher in the school. She prepares many gifts, which consist of n kinds with a[i] quantities of each kind, for her students and wants to hold a class meeting. Because of the busy work, she gives her gifts to the monitor, Chiaki Nanami. Due to the strange design of the school, the students' desks are in a row. Chiaki Nanami wants to arrange gifts like this:

1. Each table will be prepared for a mysterious gift and an ordinary gift.

2. In order to reflect the Chisa Yukizome's generosity, the kinds of the ordinary gift on the adjacent table must be different.

3. There are no limits for the mysterious gift.

4. The gift must be placed continuously.

She wants to know how many students can get gifts in accordance with her idea at most (Suppose the number of students are infinite). As the most important people of her, you are easy to solve it, aren't you?

雪染千纱是某学校的老师。她准备了许多礼物,共n种,每种a[i]件,在班会上发给学生。诸事繁杂,她只好把礼物交给班长千秋七海。由于学校设计神奇,学生的课桌只有一排。千秋七海希望如此安排礼物:

1.每张桌子都将准备一份神秘礼物和一份普通礼物。

2.为了彰显雪染千纱的大方,相邻桌子的普通礼物必须不同。

3.神秘礼物没有限制。

4.礼物必须连续发放。

她想知道最多有多少学生可以因此获得礼物(假设学生数量无限多)。作为她最重要的人,你必定对此问题手到擒来。

Input

输入

The first line of input contains an integer T(T≤10) indicating the number of test cases. Each case contains one integer n.

The next line contains n (1≤n≤10) numbers: a1,a2,...,an, (1≤ai≤100000).

输入的第一行是一个整数 T(T≤10)表示测试用例的数量。

每个测试用例都有一个整数n。下一行有 n (1≤n≤10)个数: a1,a2,...,an, (1≤ai≤100000)。

Output

输出

For each test case, output one line containing “Case #x: y” (without quotes) , where x is the test case number (starting from 1) and y is the answer of Chiaki Nanami's question.

对于每个测试用例,输出一行“Case #x: y”(没有引号),x表示测试用例的编号(从1开始)并且y表示七海千秋问题的答案。

Sample Input - 输入样例

Sample Output - 输出样例

1
2
3 2

Case #1: 2

【题解】

水题,对礼物a[i]升序排序,求相邻没有相同种类礼物的排列长度(可横可竖),然后用最后若剩余礼物>前面长度,取前面长度,否则为 剩余礼物+(前面长度-剩余礼物)/2

【代码 C++】

 #include <cstdio>
#include <algorithm>
int data[];
int main(){
int t, n, iT, i, s, opt;
scanf("%d", &t);
for (iT = ; iT <= t; ++iT){
printf("Case #%d: ", iT);
scanf("%d", &n);
for (i = ; i < n; ++i) scanf("%d", &data[i]);
std::sort(data, data + n);
for (i = s = ; i < n - ; ++i){
s += data[i] << ; data[i + ] -= data[i];
}
if (data[i] < s) opt = data[i] + (s - data[i]) / ;
else opt = s;
printf("%d\n", opt);
}
return ;
}

HDU 5835 Danganronpa(弹丸论破)的更多相关文章

  1. HDU 5835 Danganronpa (贪心)

    Danganronpa 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5835 Description Chisa Yukizome works as ...

  2. HDU 5835 Danganronpa 贪心

    Danganronpa 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5835 Description Chisa Yukizome works as ...

  3. HDU 5835 Danganronpa

    Danganronpa Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  4. HDU 5835 Danganronpa (水题)

    题意:给定 n 个礼物有数量,一种是特殊的,一种是不特殊的,要分给一些人,每人一个特殊的一个不特殊,但是不特殊的不能相邻的,问最多能分给多少人. 析:是一个比较简单的题目,我们只要求差值就好,先算第一 ...

  5. [ An Ac a Day ^_^ ] hdu 5835 Danganronpa 令人发指

    这道题告诉我两个道理: 1.记得写case 要不挂死你 2.数据很水的时候 只有样例的这一种情况…… 原来数据可以这么水…… #include<stdio.h> #include<i ...

  6. Hdu 5384 Danganronpa (AC自动机模板)

    题目链接: Hdu 5384 Danganronpa 题目描述: 给出n个目标串Ai,m个模式串Bj,问每个目标串中m个模式串出现的次数总和为多少? 解题思路: 与Hdu 2222  Keywords ...

  7. 【HDU 5835】Danganronpa(分配礼物)

    10种礼物,每种有ai个,每个小朋友分两个礼物,其中普通礼物要求相邻两人的不能一样,求最多分给几个小朋友. sum/2是最多的情况.什么时候发不了那么多,就是当max很大,无论怎么发,都发不完max. ...

  8. hdu 5384 Danganronpa

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=5384 思路:没学自动机时以为是道KMP然后就tle了好几把,AC自动机模板题 #include<cs ...

  9. HDU 5384——Danganronpa——————【AC自动机】

    Danganronpa Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Tot ...

随机推荐

  1. android 应用架构随笔一(架构搭建)

    1.拷贝积累utils以及PagerTab类 2.定义BaseApplication类 3.定义BaseActivity类 4.改写MainActivity 5.定义布局文件 6.定义BaseFrag ...

  2. 统一使用GPT分区表,安装MAC 10.10 和 Win8.1 pro双系统

    步骤一: 为Mac OS 分区,为其它分区留白1,使用OSX Mavericks制作的Mac安装U盘按住Option键启动:2,选择安装Mavericks盘符:3,进入OSX安装启动界面,选择磁盘工具 ...

  3. Bootstrap之Carousel问题

    一.不能自动播放的解决办法 1.默认使用Bootstrap的Carousel组件,只需要加上 data-ride="carousel" 就可以实现自动播放了.无需使用初始化的js函 ...

  4. Redis的使用完整版

    [Redis基本] 1.redis安装完成后的几个文件: redis-benchmark  性能测试工具(批量写入)./bin/redis-benchmark -n 10000  即可一次性写入100 ...

  5. PHP正则表达式之定界符和原子介绍

    1,正则表达式的定界符. 除了字母.数字和反斜线\以外的任何字符都可以为定界符号,比如 | |.//.{}.!!等等,但是需要注意,如果没有特殊需要,我们都使用正斜线//作为正则表达式的定界符号. 2 ...

  6. c#作业

    string a = this.textBox1.Text; // string [] b=a.Split("\r\n".ToCharArray(),StringSplitOpti ...

  7. easyui datebox 只选择年月

    //将日期输入框变为年月的函数方法    var month=0;      $('#effectiveDate').datebox({        onShowPanel: function () ...

  8. asp.net 关闭子窗体 刷新主窗体

    主窗体************************************************************************************ //原窗口保留,以对话框 ...

  9. 20150604_Andriod 窗体PopupWindow动画

    参考地址: http://www.open-open.com/lib/view/open1378720752084.html http://www.jcodecraeer.com/a/anzhuoka ...

  10. Android动画之Interpolator和AnimationSet

    AnimationSet可以加入Animation,加入之后设置AnimationSet对加入的所有Animation都有效. AnimationSet anim=new AnimationSet(t ...