描述

比赛已经结束,本题在CH上不予测评,请自行下载数据评测。

由于CH的评测不能给部分分,并且此题数据过于庞大,本题采用线下测评的方式,需要各位选手的支持,如果不按以下要求操作,此题会被算作0分。

1.选取一个标识码(不得带中文、符号、空白字符),标识自己的账号,长度不得超过40个字符。如果你在CH上的用户名中不含中文或符号,请使用你的用户名作为标识码;否则请你自己选择一个标识码,务必与其他人不同,如果标识码产生冲突,只有提供合理理由的标识码才会给分(如果恶意使用别人的用户名做标识码将不会得分;如果冲突双方都选择了非常简单,容易冲突的标识码,双方均不会得分)。

2.在你的程序开头处写下一行注释,注释内容即为你的标识码。

(pascal、C++://username  python:#username)

3.在你的程序读入n后,判断n是否为0,如果为0,输出你的标识码(带换行),不得再输出其他内容。

4.如果n不为0,正常的运行你的程序。

如果仍然不明白,可以看下方的样例程序,或在答疑帖上提问。

本题时限每个点为3s,但是请保证如果n=0,程序能在200ms内结束。

声音就是振动。当声音改变了鼓膜上空气的压力时,我们就感觉到了声音。当声音通过麦克风转换为电流时,就可以用随时间振动的波形来表示。由于波形是连续的,我们无法精确储存整个波形的信息。所以可以选择一个取样频率,离散的记录震动的位移。为了避免失真,取样频率必须是样本声音最高频率的两倍。在本题的数据中,采样频率为22050Hz,位移在-32768~32767之间。

音乐是一种声音,也能用波形记录。正弦波是一个典型的乐音。波的振幅即为声音的响度,振幅越大,响度越大。波的频率代表声音的音调,频率越大音调越高。普通的乐器演奏单一乐音的时候每一时刻可以看做多个正弦波的叠加,其中频率最低的称为根音,此外称为泛音。根音表现了该音的音高,振幅最大,给人印象最深刻。泛音表现了乐器的音色,大部分泛音频率都为根音的整数倍,且振幅小于根音。

一些区别很大的乐器演奏的音乐,人耳能够很简单的分辨,例如鼓和长笛。现在我们需要一个程序,能判断出给出的音乐片段是用何种乐器弹奏的。

本题包含以下几种类型的音乐:

1.正弦波音乐。这种音乐是使用C中Beep函数发声,所发出的声音接近正弦波。测试数据中该类型的所有音乐都是电脑合成的。

2.鼓独奏。这种音乐是架子鼓的独奏,有很强的节奏感。

3.交响乐。这种音乐是由鼓,钢琴,管弦乐等乐器共同演奏的。

4.长笛独奏。这种音乐是由长笛单独演奏。

题目将会给出每一种类型的试听版本各5个片段(提供mp3和txt),基本上取自5首不同的音乐。测试数据中每种类型的音乐片段分别会出现25次,其中约有20次将会是给出的5首音乐的其他部分。

输入格式

第一行一个整数n,表示该段音乐的采样次数。

接下来n行,分别代表相应时刻的位移。

输出格式

一行,一个字符串。如果n为0,即输出你的标识码;否则输出“beep”、“drum”、“symphony”或“flute”分别正弦波音乐,鼓独奏,交响乐和长笛独奏。

评分规则

本题时限每个点为3s,但是请保证如果n=0,程序能在200ms内结束。

线下评测时只会选取最后一次提交的程序进行评分。

本题共100组数据。答对20组以下将得0分,90组以上将得100分,20组以上90组以下得分将线性增长。

样例输入

见数据包

样例输出

见数据包

样例程序

以下是一个样例C++程序,其他语言请自行仿写。第一行注释内为自己的标识码。程序读入n,判断n是否为0,如果为0输出自己的标识码;否则输出“beep”。

//hzhwcmhf
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	if(n==0){
		printf("hzhwcmhf\n");
	}else{
		printf("beep\n");
	}
	return 0;
}

数据范围与约定

共100组测试数据。150000≤n≤800000。

来源

原创