1003: 相邻数对问题
时间限制: 1 Sec 内存限制: 256 MB提交: 288 解决: 254
[ 提交][ 状态][ 讨论版]
题目描述
给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。
评测用例规模与约定
1<=n<=1000,给定的整数为不超过10000的非负整数。
输入
输入的第一行包含一个整数n,表示给定整数的个数。 第二行包含所给定的n个整数。
输出
输出一个整数,表示值正好相差1的数对的个数。
样例输入
6 10 2 6 3 7 8
样例输出
3
<span style="font-size:18px;">#include<iostream>
using namespace std;
int main()
{
int n,sum(0);
cin>>n;
int a[n];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=1;i<n;i++) //排序
{
int j=i;
int temp=a[i];
while(j>0&&temp<a[j-1])
{
a[j]=a[j-1];
j--;
}
a[j]=temp;
}
for(int j=0;j<n;j++) //计数
{
if(a[j]+1==a[j+1])
sum++;
}
cout<<sum;
return 0;
}</span>