日志

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", &notes[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;

}

全部评论

相关推荐

06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务