HDU5003:Osu!(签到题)HDU5038:(签到题,题意很坑)
HDU 5003
水题,直接上代码(因为题意读错了,WA了一遍)。
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
typedef long long ll;
#define inf 0x3f3f3f3f
#define mod 7
#include <math.h>
#include <queue>
using namespace std;
int n,a[];
int cmp(const void *aa,const void *bb)
{
return *(int *)bb-*(int *)aa;
}
int main()
{
int T;
scanf("%d",&T);
double sum;
while(T--)
{
scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
}
qsort(a,n,sizeof(a[]),cmp);
sum=;
for(int i=;i<n;i++)
{
sum+=pow(0.95,i)*a[i];
}
printf("%.10lf\n",sum);
}
return ;
}
HDU 5038
这题的题意真是无比坑啊,还有为么G++超时,C++就过了,尼玛这个大水题浪费了我好几个小时,我百度了一下说只有HDU上面C++快于G++,一般情况下(没算法的情况居多)如果用G++交
TLE了,请在用C++交一遍。
再说一下坑人的题意。
有n个蘑菇,重量为w[i],根据公式为这n个蘑菇分等级(给出一个分数),其中出现频率最多的那个分数成为mode,要求输出这个mode, 注意mode 可能不唯一,按升序输出符合是mode的分数。如果打出的分数每个都可以成为mode,那么则输出 Bad Mushroom.
可能上边说的不是很明白,为每个蘑菇打出分数后,有三种情况,举例子说明,假设有6个蘑菇:
1. 打出的分数为 2 2 2 1 1 6
其中2 出现的次数最多,mode唯一,输出 2
2. 打出的分数为 4 4 2 2 1 3
其中2,4出现的次数最多,mode不唯一,升序输出 2 4
3.打出的分数为 2 2 3 3 3 2
其中2,3出现的次数最多,但没有其它的分数了,也就是打出的分数每个都是mode,输出 Bad Mushroom.
其中第三种情况要特别注意一下,还要判断mode出现了几种,上面例子是出现了两种2,3,如果只出现一种,比如打出的分数为 2 2 2 2 2 2,要输出2,不能输出Bad Mushroom,所以要特判一下。
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
typedef long long ll;
#define inf 0x3f3f3f3f
#define mod 7
#include <math.h>
#include <queue>
using namespace std;
int n,a,s,h[],cnt[],tt;
int main()
{
int T,K=,maxt;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
memset(h,,sizeof(h));
maxt=;
for(int i=; i<n; i++)
{
scanf("%d",&a);
s=-abs(-a)*abs(-a);
h[s]++;
maxt=max(maxt,h[s]);
}
printf("Case #%d:\n",++K);
tt=;
for(int i=; i<=; i++)
{
if(h[i]&&h[i]==maxt)
{
cnt[tt++]=i;
}
}
if(tt==)
{
printf("%d\n",cnt[]);
continue;
}
if(tt*maxt==n)
{
printf("Bad Mushroom\n");
continue;
}
bool zz=false;
for(int i=; i<tt; i++)
{
if(zz)
{
printf(" %d",cnt[i]);
}
else
{
printf("%d",cnt[i]);
zz=true;
}
}
printf("\n");
}
return ;
}
我第一次写的方法有点麻烦:
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
typedef long long ll;
#define inf 0x3f3f3f3f
#define mod 7
#include <math.h>
#include <queue>
using namespace std;
int n,a[],s[],h[],sum,cnt[],tt,mm[];
int main()
{
int T,K=,maxt;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
memset(h,,sizeof(h));
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
s[i]=-abs(-a[i])*abs(-a[i]);
h[s[i]]++;
}
printf("Case #%d:\n",++K);
sort(s,s+n);
sum=;
maxt=;
tt=;
for(int i=;i<=;i++)
{
if(h[i])
{
sum++;
mm[tt]=i;
cnt[tt++]=h[i];
maxt=max(maxt,h[i]);
}
}
if(sum==)
{
printf("%d\n",s[]);
continue;
}
bool ff=false;
for(int i=;i<tt;i++)
{
if(cnt[i]!=maxt)
{
ff=true;
break;
}
}
if(!ff)
{
printf("Bad Mushroom\n");
continue;
}
bool zz=false;
for(int i=;i<tt;i++)
{
if(cnt[i]==maxt)
{
if(zz)
{
printf(" %d",mm[i]);
}
else
{
printf("%d",mm[i]);
zz=true;
}
}
}
printf("\n");
}
return ;
}
HDU5003:Osu!(签到题)HDU5038:(签到题,题意很坑)的更多相关文章
- hdu5003 Osu!排序实现水题
Osu! is a famous music game that attracts a lot of people. In osu!, there is a performance scoring s ...
- poj 1006:Biorhythms(水题,经典题,中国剩余定理)
Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 110991 Accepted: 34541 Des ...
- poj 1002:487-3279(水题,提高题 / hash)
487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 236746 Accepted: 41288 Descr ...
- Codeforces Round #352 (Div. 2),A题与B题题解代码,水过~~
->点击<- A. Summer Camp time limit per test 1 second memory limit per test 256 megabytes input s ...
- PHP每日签到及连续签到奖励实现示例
数据库字段 num 记录已经连续签到次数 times 记录签到的日期 格式年月日 如 20160101 PHP代码如下 <?php //获取今天的日期 $today = date('Ymd'); ...
- BZOJ 3097: Hash Killer I【构造题,思维题】
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 963 Solved: 36 ...
- PHP实现类似题库抽题效果
PHP实现类似题库抽题效果 大家好,我顾某人又回来了,最近学了一点PHP,然后就想写个简单小例子试试,于是就写了一个类似于从题库抽题的东西,大概就是先输入需要抽题的数量,然后从数据库中随机抽取题目. ...
- PAT乙级真题及训练题 1025. 反转链表 (25)
PAT乙级真题及训练题 1025. 反转链表 (25) 感觉几个世纪没打代码了,真是坏习惯,调了两小时把反转链表调出来了,心情舒畅. 这道题的步骤 数据输入,数组纪录下一结点及储存值 创建链表并储存上 ...
- 啤酒和饮料|2014年蓝桥杯B组题解析第一题-fishers
啤酒和饮料|2014年第五届蓝桥杯B组题解析第一题-fishers 啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请 ...
随机推荐
- Oracle字符串分割Split(超简单一条sql解决)
) FROM renyuan where name ='张三' 解决如下问题 我现在有一个字段是存:,,3的,而它对应另一张值集表中.eg; 课程人员表 renyuan id name Course ...
- Unity基于DFGUI的TreeView设计
using UnityEngine; using System.Collections; public class Item { public string Id; public string Nam ...
- RecyclerView底部刷新实现具体解释
关于RecyclerView底部刷新实现的文章已经非常多了,但大都仅仅介绍了其基本原理和框架,对当中的非常多细节没有交代,无法直接使用. 本文会着重介绍RecyclerView底部刷新实现的一些细节处 ...
- 前端gulp自动化构建配置
为了节省http请求次数.节约带宽,加速页面渲染速度,达到更好用户体验的目的.现在普遍的做法是在上线之前做静态资源的打包构建,也就是静态资源的合并压缩: 这里使用的是gulp,当然现在有更强大的模块化 ...
- ubuntu16.04 安装 eclipse
1. 下载jdk , jdk-8u77-Linux-x64.tar.gz 2.下载 eclipse , eclipse-jee-mars-2-linux-gtk-x86_64.tar.gz 注:我下 ...
- 转载 -- iOS中SDK的简单封装与使用
一.功能总述 在博客开始的第一部分,我们先来看一下我们最终要实现的效果.下图中所表述的就是我们今天博客中要做的事情,下方的App One和App Two都植入了我们将要封装的LoginSDK, 两个A ...
- 【H.264/AVC视频编解码技术具体解释】十三、熵编码算法(4):H.264使用CAVLC解析宏块的残差数据
<H.264/AVC视频编解码技术具体解释>视频教程已经在"CSDN学院"上线,视频中详述了H.264的背景.标准协议和实现,并通过一个实战project的形式对H.2 ...
- 从 Microsoft Dynamics CRM 4.0 server迁移到 Microsoft Dynamics CRM 2013 Server
不能就地升级早于 Microsoft Dynamics CRM Server 2011 的版本号,比方 Microsoft Dynamics CRM 4.0 server.可是,能够在升级过程中使用 ...
- PMP 质量管理7张图 很形象
PMP 质量管理 中的因果图.控制图.流程图.核查表.直方图.帕累托图.散点图
- 【BZOJ2560】串珠子 状压DP+容斥
[BZOJ2560]串珠子 Description 铭铭有n个十分漂亮的珠子和若干根颜色不同的绳子.现在铭铭想用绳子把所有的珠子连接成一个整体. 现在已知所有珠子互不相同,用整数1到n编号.对于第i个 ...