题目描述
小C最近在学习音乐的过程中接触了一点乐理知识,如上图所示,1(do)2(re)3(mi)4(fa)5(sol)6(la)7(si)这7个音阶对应的音名依次为CDEFGAB,
现在,每次输入两个由单个大写字母 a i , b i a_i, b_i ai,bi 表示的音名,请输出其中音调较高的音的音名,
题目包含多组测试数据。
输入格式
第一行包含一个正整数 T T T 为数据组数,
接下来 T T T 行,每行包含两个由空格隔开的大写字母 a i , b i a_i, b_i ai,bi 为给定的音名。
输出格式
输出 T T T 行,每行包含一个大写字母为音调较高的音的音名。
样例输入 1
4
D E
A C
C C
A B
样例输出 1
E
A
C
B
数据范围
测试点 | T T T | 特殊性质 |
---|---|---|
1 ∼ 2 1\sim 2 1∼2 | 1 ≤ T ≤ 1000 1 \leq T \leq 1000 1≤T≤1000 |
a
i
,
b
i
a_i,b_i
ai,bi仅同时属于AB 或CDEFG 之一 |
3 ∼ 10 3 \sim 10 3∼10 | 1 ≤ T ≤ 1000 1 \leq T \leq 1000 1≤T≤1000 | 无 |
样例解释
第1组样例中E
对应的音调为3(mi)高于D
对应的音调2(re),答案为E
第2组样例中A
对应的音调为6(la)高于C
对应的音调1(do),答案为A
解析
给每个音阶排上顺序,,比较其序号即可,详见代码:
#include <bits/stdc++.h>
using namespace std;
int c[300];
int t;
char a, b;
int main() {
c['C'] = 1;
c['D'] = 2;
c['E'] = 3;
c['F'] = 4;
c['G'] = 5;
c['A'] = 6;
c['B'] = 7;
cin >> t;
while(t--) {
cin >> a >> b;
if (c[a] > c[b]) {
cout << a << endl;
} else {
cout << b << endl;
}
}
return 0;
}