#CFOG001. [240903更新] Windows Core Audio APIs

[240903更新] Windows Core Audio APIs

No testdata at current.

本题还没有出完,原作者学业原因现已弃坑 > _ <
现交给社区继续出题。

如果你也想和我一起折磨其他同学,主页联系方式可以获取我已经写了200行的题解。

黑猫补充:这是我一个学生建立的,严重声明,和老师无关!!!

补充:包括CFOG(CatFish原创题)CFCG(CatFish改编题)均不由老师创建/导入。





本题纯属娱乐。

(当然样例是正确的,作者亲测可以AC10

第一次出题,没仔细看,如果题目有问题,务必加我主页联系方式反馈,谢谢🙏🙏
全错或者部分错也别着急,我会看大家的代码的,然后修复题干可能有的问题🙏🙏


题目背景

Windows Core Audio APIs 是 Windows 操作系统的一个通用音频架构(Universal Audio Architecture,UAA)的API,用于实现音频的采集和播放。
本题需要你使用一个int值作为音频内容,模拟 Windows Core Audio API ,实现对应用程序扬声器/麦克风操作的调度。
本题采用int模拟每毫秒音频内容,除独占模式,如果重复往一个位置输出,就将原来的值与新输入的值加起来,模拟叠加操作。
毫秒数均为自然数,从0开始,上限见数据范围。

题目描述

点击展开指令列表

格式

输入格式

第一行输入3个整数,分别为
指令总数n,立体声混音麦克风总数,总共需要处理多少毫秒
第二行起每行一个指令。

实际输入数据会保证虚拟文件名,设备名只包含以下字符:
大小写字母,数字,英文点(.),英文下划线(_),英文左斜杠(/),英文圆括号( '(' 和 ')' )
**注:在输出时,请把任何下划线替换为空格**

输出格式

本题所说的字典序,若无特殊说明,均指按照std::strcmp()比较结果进行升序排序。

第1步:"------------ Windows Core Audio APIs ------------"
第2步:逐行输出每条ls指令的输出
第3步:按照扬声器全名的字典序,依次输出每个扬声器播放过的内容
第4步:"-------------------- v1.0 -----------------------"

样例数据

34 4 30
0 C P 耳机(Realtek(R)_Audio) P1
0 C P 扬声器(Realtek(R)_Audio) P2
0 C P 蓝牙音频设备(Realtek(R)_Audio) P3
0 C Md 耳机麦克风(Realtek(R)_Audio) M1
0 C Mr 立体声混音(Realtek(R)_Audio) MR -> P1
0 C Mr 立体声混音(Realtek(R)_Audio) MR -> P6
0 C Mr 耳机麦克风(Realtek(R)_Audio) MR2
0 I M1 6 11 16 24 66 62 82
0 Od false P2 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
R M1 >>2-5>> /home/pi/output.wav true 1
6 Od false P1 6 2 5 4 6 2 8
6 Or false P3 /home/pi/output.wav
7 Or true P2 /home/pi/test.mp3
7 Or true P2 /home/pi/output.wav
R P2 >>7-10>> /home/pi/output.wav true 1
R P2 >>7-8>> /home/pi/output.wav false 2
10 cp /home/pi/output.wav /home/pi/test.mp3 1
11 cp /home/pi/test.mp3 /home/pi/test1.mp3 1
11 cp /home/pi/test.mp3 /home/pi/test2.mp3 1
11 cp /home/pi/test.mp3 /home/pi/test3.mp3 1
11 cp /home/pi/test.mp3 /home/pi/test4.mp3 1
11 cp /home/pi/test.mp3 /home/pi/test5.mp3 1
12 cp /home/pi/test1.mp3 /home/pi/new.mp3 1
13 cp /home/pi/test2.mp3 /home/pi/new.mp3 2 1
14 cp /home/pi/test3.mp3 /home/pi/new.mp3 3
15 mv /home/pi/test4.mp3 /home/pi/new.mp3 4
16 cp /home/pi/test5.mp3 /home/pi/new.mp3 5 2
17 C P 蓝牙音频设备2(Realtek(R)_Audio) P6
17 C Mr 立体声混音(Realtek(R)_Audio) MR3 -> P6
25 Od false P1 1 1
25 DD P1
25 Od false P1 1 2
26 ls -f
27 ls -p
28 ls -m
29 C P 耳机(Realtek(R)_Audio) P1
623
0 0 0 0 0 0
-------------Windows Core Audio APIs-------------
-------------------- v1.0 -----------------------

数据范围

所有指令总数N
采用1/3/4模式处理重复虚拟文件的 虚拟文件相关操作总数No
虚拟音频文件总数NF
C和DD指令总数NC
立体声混音麦克风总数NA
虚拟音频文件最大毫秒数MNF
总共需要处理多少毫秒的音频MAXT

+------+--------------+------------------+------------------+------------------+--------------+---------------+-----------------+
| Case |      N       |       No         |        NC        |        NA        |      NF      |      MNF      |       MAXT      |
+------+--------------+------------------+------------------+------------------+--------------+---------------+-----------------+
| 0    |    n = 0     |        /         |        /         |        /         |    /         |    /          |        /        |
| 1~5  | 0<=n<=40     |     0<=No<=10    |     0<=NC<=10    |     0<=NA<=10    | 0<=NF<=10    | 0<=MNF<=10000 | 0<=n<=10,000    |
| 6    | 0<=n<=40000  | 35000<=No<=40000 |     0<=NC<=10    |     0<=NA<=10    | 0<=NF<=11451 | 0<=MNF<=11451 | 0<=n<=1,000,000 |
| 7    | 0<=n<=40000  |     0<=No<=10    | 35000<=No<=40000 |     0<=NA<=10    | 0<=NF<=10    | 0<=MNF<=10000 | 0<=n<=1,000,000 |
| 8    | 0<=n<=40000  |     0<=No<=10    | 35000<=No<=40000 | 35000<=No<=40000 | 0<=NF<=10    | 0<=MNF<=10000 | 0<=n<=1,000,000 |
| 9    | 0<=n<=114514 | 35000<=No<=40000 | 35000<=No<=40000 | 35000<=NA<=40000 | 0<=NF<=11451 | 0<=MNF<=26244 | 0<=n<=1,000,000 |
+------+--------------+------------------+------------------+------------------+--------------+---------------+-----------------+

对于100%的数据,有: 0 <= 普通麦克风总数,扬声器总数 <= 30
保证直至输出,每毫秒音频值不超过unsigned short范围