xxwxw123 2021-07-11 22:56 采纳率: 71.4%
浏览 38
已结题

数字2020NOIP模拟赛

给定 N个数,其大小范围为 [-10,+10]。在这 N个数中任取 2个数的和为 0的方案数有多少种。

  • 写回答

1条回答 默认 最新

  • 关注

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    #include <stdio.h>
    
    int main()
    {
        int n;
        scanf("%d",&n);
    
        int a[n], c = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &a[i]);
        }
    
        for (int i = 0; i < n; i++)
        {
            for (int j = i + 1; j < n; j++)
            {
                if (a[i] + a[j] == 0)
                    c++;
            }
        }
        printf("%d", c);
        return 0;
    }
    
    

    img


    用桶算法

    #include <stdio.h>
    int main()
    {
        int n;
        scanf("%d",&n);
        int m, c = 0;
        int t[21] = {0};
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &m);
            c += t[10-m];
            t[m+10]++;
        }
        printf("%d", c);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月17日
  • 已采纳回答 8月9日
  • 创建了问题 7月11日