日志
ZIXI在创作旋律。他将它们表示为音符序列,其中每个音符被编码为从 0 到 127 (含)的整数。两个音符 a 和 b 之间的音程等于 |a−b| 半音。如果每两个相邻音符之间的音程是 5 半音或 7 半音,则ZIXI认为旋律是完美的。 在创作完自己最新的旋律后,他热情地向大家展示自己的作品集。你能帮助ZIXI了解他的旋律是否完美吗。
#include <stdio.h>
int main() {
int t;
scanf("%d", &t);
// 处理 t 个旋律
for (int i = 0; i < t; i++) {
int n;
scanf("%d", &n);
int notes[n];
// 读取 n 个音符
for (int j = 0; j < n; j++) {
scanf("%d", ¬es[j]);
}
int is_perfect = 1;
// 检查相邻音符的音程
for (int k = 0; k < n - 1; k++) {
int interval;
if (notes[k] >= notes[k + 1]) {
interval = notes[k] - notes[k + 1];
} else {
interval = notes[k + 1] - notes[k];
}
if (interval!= 5 && interval!= 7) {
is_perfect = 0;
break;
}
}
if (is_perfect) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}