神奇的编号对
描述
给出多个乱序排放的编号以及一个数字C,要求计算出所有编号之差等于C的编号对的个数(不同位置的数字一样的数对算不同的数对)。
输入
输入共两行。 第一行,两个整数N(2<=N<=103)和C(0<=C<=106),分别表示要处理的编号数量和编号之差C。 第二行,N个整数,表示N个需要处理的编号。
输出
一行,表示这些编号中包含的满足 A - B = C的编号对的个数。
样例输入
4 1
1 3 1 2
样例输出
3
神奇的编号对
描述
给出多个乱序排放的编号以及一个数字C,要求计算出所有编号之差等于C的编号对的个数(不同位置的数字一样的数对算不同的数对)。
输入
输入共两行。 第一行,两个整数N(2<=N<=103)和C(0<=C<=106),分别表示要处理的编号数量和编号之差C。 第二行,N个整数,表示N个需要处理的编号。
输出
一行,表示这些编号中包含的满足 A - B = C的编号对的个数。
样例输入
4 1
1 3 1 2
样例输出
3
代码如下:
#include <iostream>
using namespace std;
int main()
{
int N,C;
int a[104];
int cnt = 0;
cin >> N >> C;
for(int i = 0;i<N;i++)
cin >> a[i];
for(int i = 0;i<N;i++)
{
for(int j = i+1;j<N;j++)
{
if(a[i] - a[j] == C || a[j]-a[i]==C)
cnt++;
}
}
cout << cnt <<endl;
return 0;
}