C++算法代码——花生与巧克力

又是一道水题无人刷……php

题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=2411ios

题目描述

花生喜欢吃巧克力,他在桌子上摆了 n 堆巧克力,第 i 堆有 ai 个巧克力。
花生喜欢加法,因此若是对于一堆巧克力,它的巧克力个数刚好为桌上另外不一样两堆的巧克力个数之和,花生就称这堆巧克力是好的。
如今花生想知道桌上有多少个好的巧克力堆,他将这个问题交给了你。

 

输入

共两行。
第一行是整数 n ,表示巧克力的堆数。
第二行有 n 正整数,第 i 个正整数为 ai ,表示第 i 堆巧克力有 ai 个巧克力。

 

输出

共一行,输出答案。spa

 

样例输入

5
2 2 3 1 1

样例输出

3

提示

对于 100% 的数据, 3 <= n <= 100,1 <= ai <= 10000 。code

做者分析:数据水到家了,枚举都能AC。blog

#include <iostream>
#include <cstring>
using namespace std;

int main(){
    int n;
    bool t = 0;
    cin >> n;
    int a[n+1],ans = 0,b[n+1];
    memset(b,0,sizeof(b));
    for (int i = 1;i <= n;i++){
        cin >> a[i];
    }
    for (int i = 1;i <= n;i++){
        for (int j = 1;j <= n;j++){
            for (int k = 1;k <= n;k++){
                if (k != i && j != i && k != j && a[j] + a[k] == a[i]){
                    b[i] = 1;
                }
            }
        }
    }
    for (int i = 1;i <= n;i++){
        if (b[i]) ans++;
    }
    cout << ans;
}
相关文章
相关标签/搜索