本文共 787 字,大约阅读时间需要 2 分钟。
为了解决这个问题,我们需要编写一个程序来统计给定整数列表中相反数对的数量。相反数对指的是像(a, -a)这样的数对。
为了高效地解决这个问题,我们可以采用以下步骤:
#includeusing namespace std;int main() { int a[1001] = {0}; int n; cin >> n; for (int i = 0; i < n; ++i) { int x; cin >> x; a[abs(x)]++; } int cnt = 0; for (int i = 1; i <= 1000; ++i) { if (a[i] == 2) { cnt++; } } cout << cnt << endl; return 0;}
cin读取整数N,然后读取N个整数。a来记录每个绝对值的出现次数。对于每个整数x,取其绝对值,并将对应的计数器a[abs(x)]加1。a,对于每个绝对值,如果其出现次数为2,则表示有一个相反数对。将这样的情况计数。通过这种方法,我们能够高效地统计并输出相反数对的数量。
转载地址:http://tzbx.baihongyu.com/