中级光能
1059 邻居的神奇差值经验值:1200
题目描述 Description
生活中从来不缺少美,对任何事,如果仔细思考,就可能从中发现意想不到的神奇之处。序列也不例外,一个看似毫无相关的序列,其中可能会蕴含无穷的奇妙。
若一个长度为N(N>0)的整型序列,其相邻两数之差的绝对值按从小大到的顺序排列起来,正好为1,2,3,……,N-1,则称该序列的邻居具有神奇的差值。如{8 5 7 3 4},该序列的相邻差为 3 2 4 1,则该序列的邻居具有神奇的差值。且任何只有一个整数的序列一定具有神奇差值。
现给定一个长度为N的整型序列,请判断该序列的邻居是否具有神奇的差值。
输入描述 Input Description
输入为一两行:
第一行为正整数N(N ≤ 100),为序列的长度;
第二行为N个整数,依次为序列中各元素,且各整数的绝对值均不超过10000。
输出描述 Output Description
输出为一行,若该序列的邻居具有神奇的差值,则输出“Amazing”,否则输出“Normal”。
样例输入 Sample Input
样例一: 5 8 5 7 3 4 ————————————————————————————————————————————— 样例二: 5 8 5 7 4 4
样例输出 Sample Output
样例一: Amazing ————————————————————————————————————————————— 样例二: Normal
77分:
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n;
int a[100005],b[100005];
int main(){
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+1);
bool f=false;
for(int i=1;i<=n-1;i++){
if(b[i]==i){
f=true;
}
else{
cout<<"Normal";
return 0;
}
}
if(f==true){
cout<<"Amazing";
}
return 0;
}