0
已解决
许金夫
初级天翼
初级天翼
1556 海拔高度之谜
题目描述 Description
小王奉命去测绘A地附近的地形,要求对附近地形的海拔高度进行测量,一共要测量n个数据,经过测量和计算,小王发现两个连续数值之间差的绝对值包括了[1,n-1]之间的所有整数,如1 4 2 3的差的绝对值分别为:3,2,1。现在小王去B地继续测量任务,请问他在这里测量的数据能满足这个原理吗?
输入描述 Input Description
以一个整数n(1<=n<=1000)开始,接下来n个空格隔开的在[-100,100]之间的整数
输出描述 Output Description
输出一行若该数组符合规律则输出"Yes",否则输出"No"
样例输入 Sample Input
样例一:
4 1 4 2 3
样例二:
5 1 4 2 -1 6
样例输出 Sample Output
样例一:
Yes
样例二:
No
这道题莫名其妙的50分
#include<bits/stdc++.h>
using namespace std;
int a[1005],z[1005],d[105];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n-1;i++){
z[i]=abs(a[i]-a[i+1]);
d[z[i]]++;
}
for(int i=1;i<=n-1;i++){
z[i]=abs(a[i]-a[i+1]);
d[z[i]]++;
}
for(int i=1;i<=1001;i++){
if(d[i]>=1&&i>n-1||d[i]==0&&i<=n-1){
cout<<"No";
return 0;
}
else{
cout<<"Yes";
return 0;
}
}
return 0;
}