力量对比(power)

文章描述了一个拔河比赛场景,其中小胖的力量等同于两个人的力量。给定所有学生的力量值,问题在于找出有多少个学生的力等于其他两个学生的力之和。解决方案通过双层循环计算每个学生的力是否可被其他两个学生的力相加得到,使用哈希表记录出现的力和,最后统计满足条件的学生数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

在拔河比赛中,小胖的力量特别大,一人的力量能抵得过两人的力量,凭借着小胖的出色发挥,他所在的红队最终赢得了胜利。在拔河比赛中,这样的小胖越多越好啊,而体育老师想知道有多少位这样的小胖呢。假如我们给出所有学生的力量值,且任意两位学生的力量是不同的。如何能快速知道有多少位这样的小胖呢。

输入输出格式

输入

输入共两行,第一行是一个正整数 n,表示共有 n 位同学。接下来一行 为由空格分割的 n 个正整数,分别表示每一位同学的力量值。

输出

只有一个正整数,为满足条件的数目。

输入输出样例

样例

输入1

4
3 2 1 5

Copy

输出1

2

Copy

数据范围/约定

1s, 256MB.

1≤n≤1000 0<序列中每个数≤1000

#include<bits/stdc++.h>
using namespace std;
int a[1001];
bool f[2001]={0};
int main()
{
	 int n,sum=0;
	 cin>>n;
	 for(int i=1;i<=n;i++)
	 {
	 	cin>>a[i];
	 }
	 for(int i=1;i<=n-1;i++)
	 {
	 	for(int j=i+1;j<=n;j++)
	 	{
	 		f[a[i]+a[j]]=1;
		 }
	 }
	 for(int i=1;i<=n;i++)
	 {
	 	if(f[a[i]]==1)
	 	{
	 		sum++;
		 }
	 }
	 cout<<sum;
	 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值