#include <stdio.h>#include <math.h> int main(){ int i; int n; int arr[3000]; int is_jolly(int arr[],int n); while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%d",&arr[i]); if(is_jolly(arr,n)) printf("Jolly\n"); else printf("Not jolly\n"); } return 0;} int is_jolly(int arr[],int n){ int *p; int i; int diff; p=(int *) malloc(sizeof(int)*(n-1)); for(i=0;i<n-1;i++) p[i]=0; for(i=0;i<n-1;i++) { diff=abs(arr[i]-arr[i+1]); if(diff>0 && diff<n) p[diff-1]++; else return 0; } for(i=0;i<n-1;i++) { if(p[i]!=1) break; } if(i==n-1) return 1; else return 0; free(p);}

评论