问题描述
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对 相反数(a 和 −a 为一对相反数)。
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。 第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过
1 000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
输入样例
5 1 2 3 -1 -2
输出样例
2
1 #include <iostream> 2 #include <map> 3 4 using namespace std; 5 6 int main() { 7 map<int,int> j; 8 int n; 9 cin>>n; 10 int ans=0; 11 for(int i=0;i<n;i++) 12 { 13 int num=0; 14 cin>>num; 15 num = abs(num); 16 j[num]++; 17 if(j[num]>1) 18 ans++; 19 } 20 cout<<ans<<endl; 21 return 0; 22 }
时间: 2024-08-09 21:42:49