这道题除了模拟你所看到的情况,可能还需要大家对这个五线谱有一点乐理上面的常识。
如果你像我一样完全不懂这个五线谱在干什么,可能做这道题就挺困难。
首先抛出一个结论:
五线谱上的音符,它“圆圈”的高度代表了音调(),而且满足 同余。
据此模拟输入并输出对应的答案即可,注意要好好利用题目中所保证的
保证每一列要么全是
|
,要么有且仅有一个o
。
所以你只需要照着样子翻译就好啦
#include<cstdio>
const int N = (int) 5e3 + 5;
char s[10][N];
int main(){
int n; scanf("%d", &n);
for (int i = 1; i <= 9; ++i)
scanf("%s", s + i);
for (int j = 0; j < n; ++j) {
if (s[1][j] == '|') putchar('|');
else {
if (s[1][j] == 'o' || s[8][j] == 'o') putchar('F');
if (s[2][j] == 'o' || s[9][j] == 'o') putchar('E');
if (s[3][j] == 'o') putchar('D');
if (s[4][j] == 'o') putchar('C');
if (s[5][j] == 'o') putchar('B');
if (s[6][j] == 'o') putchar('A');
if (s[7][j] == 'o') putchar('G');
}
}
}