P2141 [NOIP2014 普及组] 珠心算测验

简介: P2141 [NOIP2014 普及组] 珠心算测验


目录

题目描述

输入格式

输出格式

输入输出样例

代码

做题要点


题目描述

珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。

某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?

最近老师出了一些测验题,请你帮忙求出答案。

(本题目为2014NOIP普及T1)

输入格式

共两行,第一行包含一个整数nn,表示测试题中给出的正整数个数。

第二行有nn个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。

输出格式

一个整数,表示测验题答案。

输入输出样例

输入 #1复制

4

1 2 3 4

输出 #1复制

2

代码

# include <bits/stdc++.h>
using namespace std;
int a[100];
int b[100];
int main()
{
  int n;
  int count=0;
  cin>>n;
  for(int i=0;i<n;i++)
  {
    cin>>a[i];
    b[i]=2;
  }
sort(a,a+n);  
  for(int i=0;i<n-2;i++)
  {
    for(int j=i+1;j<n-1;j++)
    {
      for(int k=j+1;k<n;k++)
      {
        if(a[i]+a[j]==a[k]&&b[k]==2)
      {
        b[k]=1;   
        count++;  
      }
      }
    }
  }
  cout<<count;
 } 

做题要点

本题我觉得要点在于去重复值   可看题  其中有多少个数,恰好等于集合中另外两个(不同的)数之和?  这是题目主要部分    问的是多少个数   则当他经历过一次后就不需要在经历了    这种情况下我们会想到用一个辅助数组进行判断。

文章知识点与官方知识档案匹配,可进一步学习相关知识


相关文章
P1088 [NOIP2004 普及组] 火星人
P1088 [NOIP2004 普及组] 火星人
P1036 [NOIP2002 普及组] 选数
P1036 [NOIP2002 普及组] 选数
P1093 [NOIP2007 普及组] 奖学金(模拟排序)
P1093 [NOIP2007 普及组] 奖学金(模拟排序)
54 0
【2012NOIP普及组】T1. 质因数分解 试题解析
【2012NOIP普及组】T1. 质因数分解 试题解析
|
关系型数据库 MySQL 数据库
|
算法
每日一题冲刺大厂第十六天 NOIP普及组 三国游戏
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
128 0
每日一题冲刺大厂第十六天 NOIP普及组 三国游戏
P1077 [NOIP2012 普及组] 摆花
P1077 [NOIP2012 普及组] 摆花
129 0
P1077 [NOIP2012 普及组] 摆花
|
算法
每日一题冲刺大厂第十四天 NOIP普及组 三连击
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
102 0
|
机器学习/深度学习
洛谷【3】P1014 [NOIP1999 普及组] Cantor 表
洛谷【3】P1014 [NOIP1999 普及组] Cantor 表