宣告check[3001]陣列的用意是,兩者先減後得到的絕對差值x,
於check[x]放入1,如此只要檢查每個check陣列的元素是否為1,
即可確認所有差值是否為1至n-1了!
#include <stdio.h> #include <stdlib.h> int n; int main(){ while(scanf("%d",&n)!=EOF){ int i,t=1; int s[3001]={0},check[3001]={0}; for(i=1;i<=n;i++){ scanf("%d", &s[i]); } for(i=1;i<=n-1;i++){ check[abs(s[i+1]-s[i])]=1; } for(i=1;i<=n-1;i++){ if(check[i]==0)t=0; } if(t==0)printf("Not jolly\n"); if(t==1)printf("Jolly\n"); } return 0; }
沒有留言:
發佈留言