给出一串数以及一个数字 c要求计算出所有 a-b=c的数对的个数不同位置得到数字一样的数对算不同的数对。输入共两行。第一行两个整数 nc。第二行 n个整数a1a2a3anai=1e9作为要处理的那串数。输出该数串中包含的满足a-b=c的数对的个数样例输入6 38 4 5 7 7 4样例输出5C++不使用unorderedmap
可以使用两层循环遍历数串中的每一个数对,判断是否满足a-b=c的条件,并计数。
具体代码如下:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, c;
cin >> n >> c;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int count = 0;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (nums[i] - nums[j] == c || nums[j] - nums[i] == c) {
count++;
}
}
}
cout << count << endl;
return 0;
}
代码中,首先读取输入的整数n和c,以及数串nums。 然后使用两层循环遍历数串中的每一个数对,判断是否满足a-b=c的条件,并计数。 最后输出计数结果。
原文地址: http://www.cveoy.top/t/topic/ja5e 著作权归作者所有。请勿转载和采集!