首页 > 学院 > 开发设计 > 正文

ccf试题 相邻数对

2019-11-10 20:34:03
字体:
来源:转载
供稿:网友

问题描述   给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。 输入格式   输入的第一行包含一个整数n,表示给定整数的个数。   第二行包含所给定的n个整数。 输出格式   输出一个整数,表示值正好相差1的数对的个数。 样例输入 6 10 2 6 3 7 8 样例输出 3 样例说明   值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。 评测用例规模与约定   1<=n<=1000,给定的整数为不超过10000的非负整数。

大眼一看觉得很复杂,然后告诉自己这是第一题啊第一题,很简单很简单,然后就有思路了,然后注意一下数组范围,就ok了

#include <iostream>#include <stdio.h>#include <queue>#include <algorithm>#include <cmath>#include <string>using namespace std;int a[10010];int main(){ int n; cin>>n; int num; int maxn=10010; int minn=0; for(int i=0;i<n;i++) { cin>>num; a[num]++; if(num>maxn) maxn=num; if(num<minn) minn=num; } int sum=0; for(int i=minn;i<maxn;i++) { sum=sum+min(a[i],a[i+1]); } cout<<sum<<endl; return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表