Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
2870 | 龚施宇 | 有趣的跳跃 | C++ | 通过 | 100 | 0 MS | 268 KB | 722 | 2019-12-07 15:09:00 |
#include<iostream> using namespace std; int main(){ int a[3001]={0},b[3001]={0}; int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; // Step1:构建差值的数组 for(int i=1;i<=n-1;i++){ int c=a[i+1]-a[i]; b[i]=c>0?c:-c; } // Step2:排序b数组 n=n-1; for(int i=n;i>=1;i--){ for(int j=1;j<=i-1;j++){ if(b[j]>b[j+1]){ int t=b[j]; b[j]=b[j+1]; b[j+1]=t; } } } // Step3:判断b数组是否是个连续的,并且元素值是1-n的数组 int flag=1; for(int i=1;i<=n;i++){ if(b[i]!=i){ flag=0; break; } } // Step4:通过flag判断是否是符合条件的序列 if(flag) cout<<"Jolly"; else cout<<"Not jolly"; return 0; }