#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开始,上限见数据范围。
题目描述
← 点击展开指令列表
![](./4294/file/desp1.png)
格式
输入格式
第一行输入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范围