http://118.190.20.162/view.page?gpid=T16

相邻对数

问题

问题描述

试题编号: 201409-1
试题名称: 相邻数对
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述

  给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。

输入格式

  输入的第一行包含一个整数n,表示给定整数的个数。
  第二行包含所给定的n个整数。

输出格式

  输出一个整数,表示值正好相差1的数对的个数。

样例输入

6
10 2 6 3 7 8

样例输出

3

样例说明

  值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。

评测用例规模与约定

  1<=n<=1000,给定的整数为不超过10000的非负整数。

解题思路

          水题,数组存放遍历相邻取最小值即可。

代码

        

#include <iostream>
#include <vector>
#define rep(i,s,e) for(int i = s;i<e;i++)
using namespace std;
const int maxSize = 10002;
int b[10002];
int main()
{
    int n,sum=0;
    cin>>n;
    rep(i,0,n){
        int num;
        cin>>num;
        b[num]++;
    }
    rep(i,1,maxSize){
        sum += min(b[i],b[i-1]);
    }
    cout<<sum<<endl;
}

猜你喜欢

转载自blog.csdn.net/hnust_yangjieyu/article/details/82467538