当前位置:网站首页>P2141 [noip2014 popularization group] abacus mental arithmetic test

P2141 [noip2014 popularization group] abacus mental arithmetic test

2022-07-07 23:40:00 Yuesi

P2141 -NOIP2014- Universal group abacus mental arithmetic test

subject
Abacus mental calculation is a kind of calculation technology that can complete fast calculation by simulating the change of abacus in the brain . Abacus mental arithmetic training , Can develop intelligence , It can bring a lot of convenience to our daily life , So it's popularized in many schools .

Some school's abacus mental arithmetic teacher uses a kind of quick examination abacus mental arithmetic addition ability test method . He randomly generates a set of positive integers , The numbers in the set are different , Then ask the students to answer : How many of them , Exactly equal to the other two in the set ( Different ) Sum of the numbers ?
Recently, the teacher gave some test questions , Please help me find out .

( This topic is 2014 NOIP Universal T1)

Input format
There are two lines , The first line contains an integer n, The number of positive integers given in the test .
The second line has n A positive integer , Every two positive integers are separated by a space , A positive integer given in a test .
Output format
An integer , The answer to a test question .

sample input
4
1 2 3 4
sample output
2

explain / Tips
【 Sample explanation 】
from 1+2=3,1+3=4, So the answer to meet the test requirements is 2.
Be careful , The addend and the addend must be two different numbers in the set .
【 Data description 】
about 100% The data of ,3 ≤ n ≤ 100, The size of the positive integer given by the test question does not exceed 10,000.

 difficulty :
	 Data elements cannot be duplicated 
	PS: At first glance, the solution only thinks of adding two elements, which cannot be repeated 
	( Actually, I don't consider , The values of different elements may be the same , Just consider that the added elements do not represent the same variables )
	 The main card of this question is not only to match when counting a+b=c Of c Just count the number of , Also need to consider c Whether it has been included .
#include<bits/stdc++.h>
// It's best to write it. #include<iostream>
using namespace std;
int main(){
    
	int a;
	int ans[105],num[20005]={
    0};
	scanf("%d",&a);// Total number of read data  
	for(int i=0;i<a;i++){
    
		scanf("%d",&ans[i]);// The value of the data  
		num[ans[i]]=1;// The record data exists in the array  
	}
	int sum=0;
	for(int i=0;i<a;i++){
    
		for(int j=i+1;j<a;j++){
    
	//j from i The last one starts , It ensures that every bit is traversed , It will not repeatedly select the two numbers added  
			if(num[ans[i]+ans[j]]==1){
    // Judge whether their sum exists  
				sum++;
				num[ans[i]+ans[j]]=10;// The tag has been tried  
			}
		}
	}
	printf("%d\n",sum);
	return 0;
}

原网站

版权声明
本文为[Yuesi]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130556374953.html