zoukankan      html  css  js  c++  java
  • 洛谷 P2141 珠心算测验 题解

    P2141 珠心算测验

    题目


    Main Idea:

        随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?
    

    Summary:

        1.读题:因为另外两个不同数之和可能相等,而且这里提问是有多少个数等于另外两个不同数之和,所以这里有去重的意思。
    

    Problem Solving Idea:

        (第一次读题的时候被“集合中的数各不相同”给麻痹了,所以脑子宕机完全没意识到另外两个不同数之和也可能会是同一个数QAQ)
        标记去重。
    

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    int b[20051];
    int main()
    {
    	int n,temp=0,ans=0;
    	cin>>n;
    	int a[n+1];
    	memset(a,0,sizeof(a));
    	memset(b,0,sizeof(b));
    	for(int i=0;i<n;i++)	cin>>a[i];
    	for(int i=0;i<n-1;i++){
    		for(int j=i+1;j<n;j++){
    			temp=a[i]+a[j];
    			for(int k=0;k<n;k++){
    				if(a[k]==temp&&k!=i&&k!=j){
    					if(b[temp]==0)	ans++;
    					b[temp]++;
    					break;
    				}
    			}
    		}
    	}
    	cout<<ans;
        return 0;
    }
    
  • 相关阅读:
    Linux
    Cookie & Session
    HTTP
    HTTP
    抓包工具
    抓包工具
    抓包工具
    python
    python
    python
  • 原文地址:https://www.cnblogs.com/Fhr2001/p/12032365.html
Copyright © 2011-2022 走看看