日志

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;

}

全部评论

相关推荐

鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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