vijos p1911 珠心算测验

Posted yachen2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vijos p1911 珠心算测验相关的知识,希望对你有一定的参考价值。

描述

珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练, 既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。
某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?
最近老师出了一些测验题,请你帮忙求出答案。
格式

输入格式

输入共两行,第一行包含一个整数 n,表示测试题中给出的正整数个数。
第二行有 n 个正整数,每两个正整数之间用一个空格隔开,表示测试题中给出的正整数。
输出格式

输出共一行,包含一个整数,表示测验题答案。

样例1

样例输入1
4
1 2 3 4

样例输出1
2

限制
对于 100%的数据,3 ≤ n ≤ 100,测验题给出的正整数大小不超过 10,000。

提示
由 1+2=3,1+3=4,故满足测试要求的答案为 2。注意,加数和被加数必须是集合中的两个不同的数。

来源
NOIP2014 普及组

 

思路

直接模拟

 

代码

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     int n;
 7     int a[100];
 8     int b[100];
 9     int i,j,k;
10     int cnt=0;
11     scanf ("%d",&n);
12     for (i=0;i<n;i++) {
13         scanf ("%d",&a[i]);
14         b[i]=0;
15     }
16     for (i=0;i<n;i++) {
17         for (j=0;j<n;j++) {
18             if (j==i) continue;
19                 for (k=0;k<n;k++) {
20                     if (k==j) continue;
21                     if (a[k]+a[j]==a[i]) b[i]=1;
22                 }
23         }
24     }
25     for (i=0;i<n;i++) {
26         if (b[i]==1) cnt++;
27     }
28     printf ("%d\n",cnt);
29     system("pause");
30     return 0;
31 }

 

以上是关于vijos p1911 珠心算测验的主要内容,如果未能解决你的问题,请参考以下文章

P2141 珠心算测验

珠心算测验

P2141 珠心算测验

2014珠心算测验

珠心算测验

珠心算测验