这道题除了模拟你所看到的情况,可能还需要大家对这个五线谱有一点乐理上面的常识。

如果你像我一样完全不懂这个五线谱在干什么,可能做这道题就挺困难。

首先抛出一个结论:

五线谱上的音符,它“圆圈”的高度代表了音调(AG\text{A}\sim\text{G}),而且满足 mod 7\bmod~7 同余

据此模拟输入并输出对应的答案即可,注意要好好利用题目中所保证的

保证每一列要么全是 |,要么有且仅有一个 o

所以你只需要照着样子翻译就好啦 \sim

#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');
        }
    }
}