问题描述
有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。
输入格式
第一行包含一个正整数 N。(1 ≤ N ≤ 500)。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。
输出格式
只输出一个整数,即这 N 个数中包含多少对相反数。
样例输入
5
1 2 3 -1 -2
1 2 3 -1 -2
样例输出
2
大佬给出了两种解法,首先看了第二种。链接:http://blog.csdn.net/tigerisland45/article/details/61190542
重点在正负数映射储存的那个地方,程序是我自己理解的单线思维,此处就是储存己方,判断对方。之所以能应用这个方法,也是正负数自己的特点决定的,所以还是数学问题呀我这个zz……
…………………………………………………………………………我是自己写了一遍的分割线………………………………………………………………………………………………
c++和codeblocks初学也经常遇到问题(捂脸) 1.首先声明函数再写函数体
2.各种运算符 memset()函数赋初值
然后cmd gg了尴尬,也不知道行不行,好了再试……
第一种,还是利用了map,map真是个好东西呀,感觉自己到现在才真正有些理解它了……比array好用的地方就是它是key而不是简单的数字,所以更有灵活性,有些语无伦次了,差不多这么理解吧……
链接:http://blog.csdn.net/tigerisland45/article/details/54755851
总结:map的find()方法会了
另外,第二种cmd的问题貌似是我代码的问题qaq就是代码的问题担我找不到答案……