A26397. 组合
填空题
困难
知识点
题目描述
组合
题目描述
你收集了 n 张卡片,按照收集的时间顺序编号 1 到 n 并依次排列,每张卡片上标有一个数值。现在突发奇想,想知道在这些卡片中,若每次挑选两张卡片,会有多少对不同的组合满足两张卡片的数值和恰好为 0,请你计算出符合条件的卡片组合的数量。
输入格式
第一行:单个整数表示 n
第二行:n 个整数表示 a1,a2,a3,…,an
输出格式
单个整数:表示有多少对卡片数值和为 0。
输入样例
4
2 -2 2 0输出样例
2说明提示
30%的数据,1≤n≤1000;60% 的数据,1≤n≤20000;
100% 的数据,1≤n≤300000;-1,000,000,000≤ai≤1,000,000,000
参考答案
#include <bits/stdc++.h>
using namespace std;
int a[10000];
int n;
int main()
{
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int cnt=0;
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[i]+a[j]==0) cnt++;
}
}
cout<<cnt;
return 0;
}
上一题
下一题