专栏文章
题解:P1152 欢乐的跳
P1152题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @miofykmr
- 此快照首次捕获于
- 2025/12/02 18:34 3 个月前
- 此快照最后确认于
- 2025/12/02 18:34 3 个月前
排序入门题。
题意简述
给出一个序列 ,求此序列相邻两个元素的差是否在 之间。
思路
首先我们能想到桶,但此题 实在太大了,不能接受。
那我们就先开 数组表示相邻两个式子之差,可以得到
b[i] = abs(a[i + 1] - a[i])。然后将 数组排序,得到有序数列,最后循环判定 是否等于 即可。
代码
CPP#include<bits/stdc++.h>
using namespace std;
long long a[1005], b[1005];
int main(){
long long n;
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i];
for(int i = 1; i < n; i++)
b[i] = abs(a[i] - a[i + 1]);
sort(b + 1, b + n);
for(int i = 1; i < n; i++)
if(b[i] != i) {
cout << "Not jolly";
return 0;
}
cout << "Jolly";
return 0;
}
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...