有击败所有人啦!!!(C语言)
2025-07-06 19:02:02
发布于:浙江
0阅读
0回复
0点赞
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int main() {
int n;
if (scanf("%d", &n) != 1) {
fprintf(stderr, "Error reading input\n");
return 1;
}
int *arr = (int *)malloc(n * sizeof(int));
if (arr == NULL) {
fprintf(stderr, "Memory allocation failed\n");
return 1;
}
for (int i = 0; i < n; i++) {
if (scanf("%d", &arr[i]) != 1) {
fprintf(stderr, "Error reading input\n");
free(arr);
return 1;
}
}
if (n == 1) {
printf("Jolly\n");
free(arr);
return 0;
}
bool *diff = (bool *)calloc(n, sizeof(bool));
if (diff == NULL) {
fprintf(stderr, "Memory allocation failed\n");
free(arr);
return 1;
}
bool is_jolly = true;
for (int i = 0; i < n - 1; i++) {
int d = abs(arr[i] - arr[i + 1]);
if (d < 1 || d > n - 1 || diff[d]) {
is_jolly = false;
break;
}
diff[d] = true;
}
printf("%s\n", is_jolly ? "Jolly" : "Not jolly");
free(arr);
free(diff);
return 0;
}
这里空空如也
有帮助,赞一个