问题标题: 酷町堂:1352 整数之和(datasum)

0
0
已解决
董妙一
董妙一
资深守护
资深守护

题目描述 Description

密码问题迎刃而解,即刻响起一串轻快的开机音乐,哈哈,手机终于可以使用了!忽然,一个神秘的手机精灵从屏幕上出现了,她笑嘻嘻的问卡卡西:“卡卡西,你是不是想见超人啊?”卡卡西迫不及待的点点头,手机精灵说:“那你需要再回答我一个问题。请你随便报出一个正整数n,我会即刻在手机屏幕上生成一串由递增的不同的正整数所组成的序列,你需要在5分钟内回答出,此序列中有多少个数,恰好等于另外两个数之和。”卡卡西朝着手机精灵自信的一笑,不到一分钟就报出了答案,手机精灵按照之前的承诺,对着手机念了念咒语,“轰”的一声,天空中突然出现一道金光,超人出现啦!卡卡西实在按捺不住心中的喜悦,对着超人大声喊:“超人,超人,我是卡卡西,我要怎样才能拥有你的超能力呢?”,超人轻轻的抚摸着卡卡西的头,笑呵呵的说:“哈哈,卡卡西,你学习努力,又维护正义,你已经是个超人啦……”,说完一个跃起,消失在空中。卡卡西在心中默念:放心吧,超人,我一定会再接再厉,将正义坚持到底……

小朋友们,你们知道卡卡西是如何求解的吗?

输入描述 Input Description

输入数据共两行。数据共两行。 第一行的一个数是指不同正整数的个数n,第二行为空格分割的n个正整数。

输出描述 Output Description

一个正整数。表示在n个数中恰好等于另外两个数之和的正整数的数目。

样例输入 Sample Input

样例一: 4 1 3 4 7 样例二: 6 1 2 3 4 5 7

样例输出 Sample Output

样例一: 2 样例二: 4

数据范围及提示 Data Size & Hint

样例1解释:因为4=1+3;7=3+4,所以输出为2
样例2解释:因为3=1+2;4=1+3;5=1+4=2+3;7=2+5=3+4,所以输出为4
数据范围: 0<n≤1000,0<n个数中每个数≤1000


0
已采纳
王文博
王文博
缔造者之神
缔造者之神

桶数组即可AC!

核心代码如下:

    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            int t=a[i]+a[j];
            if(t<=1000&&b[t]>0)
            {
                cnt++;
                b[t]=0;
            }
        }
    }

其中a[i]为原数组,b为桶数组

望采纳!

1
0
朱小川
朱小川
缔造者
缔造者

for循环遍历到n

数组

然后计数器+1

我要回答