您的位置 首页 > 腾讯云社区

CCF考试——201403-1相反数---AI那点小事

概述

问题描述

  有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。

输入格式

  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。   第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。

输出格式

  只输出一个整数,即这 N 个数中包含多少对相反数。

样例输入

5 1 2 3 -1 -2

样例输出

2

AC代码#include <iostream> #include <set> using namespace std; int n; int data; set<int> s; set<int>::iterator it,tmp; int cnt; int main() { while(cin>>n){ for(int i = 0 ; i < n ; i++){ cin>>data; s.insert(data); } cnt = 0; for(it = s.begin() ; it != s.end() ;){ tmp = s.find(-1*(*it)); if(tmp != s.end()){ cnt++; s.erase(tmp); s.erase(it); it = s.begin(); }else{ it++; } } cout<<cnt; } return 0; }

---来自腾讯云社区的---AI那点小事

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: