题目描述
The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, compute how many quadruplet (a, b, c, d ) ∈ A x B x C x D are such that a + b + c + d = 0 . In the following, we assume that all lists have the same size n .

输入
The first line of the input file contains the size of the lists n (this value can be as large as 4000). We then have n lines containing four integer values (with absolute value as large as 228 ) that belong respectively to A, B, C and D .

输出
For each input file, your program has to write the number quadruplets whose sum is zero.

题目描述
SUM问题可以表述如下:给定四个列表A,B,C,D的整数值,计算有多少个四重奏(a,b,c,d)∈A x B x C x D使得a + b + c + d = 0。在下文中,我们假设所有列表都具有相同的大小 n 。
输入
输入文件的第一行包含列表 n 的大小(此值可以最大为 4000)。然后,我们有n行包含四个整数值(绝对值大至228),分别属于A,B,C和D。
输出
对于每个输入文件,程序必须写入总和为零的四胞胎数。

样例输入
6
-45 22 42 -16
-41 -27 56 30
-36 53 -37 77
-36 30 -75 -46
26 -38 -10 62
-32 -54 -6 45
样例输出
5
提示
示例说明:实际上,以下五个四胞胎的总和为零:(-45, -27, 42, 30), (26, 30, -10, -46), (-32, 22, 56, -46), (-32, 30, -75, 77), (-32, -54, 56, 30)。

在这里插入代码片
#include <stdio.h>
#include<stdlib.h>
#include <string.h>
#include <math.h>
int cmp ( const void *a , const void *b )
{return *(int *)a - *(int *)b;
}int sum1[16000005] ,sum2[16000005] ;
int a[4005] ,b[4005] ,c[4005],d[4005] ;
int n = 0 , t =0 ;int Binary_Search(int key)
{int num = 0 ;int left = 0  , right = t- 1 ;while (left <right){int mid = left + (right - left)/2 ;if(key <=sum2[mid])right = mid ;elseleft = mid + 1 ;}while(sum2[left] == key && left < t ){num ++ ;left ++ ;}return num ;}
int main()
{int i ;int j ;while(scanf("%d",&n)!=EOF){t = 0;for (i = 0 ;i < n ; i ++){scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);}for (i = 0 ;i<n  ;i++){for(j = 0 ; j<n ; j++){sum1[t] = a[i]+ b[j] ;sum2[t] = c[i] + d[j] ;t++ ;}}qsort(sum1,n*n,sizeof(int),cmp) ;qsort(sum2,n*n,sizeof(int),cmp) ;int num = 0 ;for( i = t-1; i>=0 ;i--){num+=Binary_Search(-sum1[i]);}printf("%d\n",num) ;}return 0 ;
}

4 Values whose Sum is 0(4 个总和为 0 的值)c语言相关推荐

  1. poj2785 4 Values whose Sum is 0

    原题链接: poj2785 4 Values whose Sum is 0 题意:给出元素都为n的4个数组A,B,C,D,要从每个数组中各取一个数,求这四个数和为0的次数,一个数列有多个相同数字时,当 ...

  2. uva1152 - 4 Values whose Sum is 0(hash或STL技巧ac)

    题目大意:给定4个n(1 <= n <= 4000)元素集合A, B, C, D,要求分别从中选取一个元素a, b, c, d,使得a+b+c+d = 0,问有多少种选法. method ...

  3. POJ 2785 4 Values whose Sum is 0

    传送门:http://poj.org/problem?id=2785 解题思路: 从这四个数列中选择的话总有n的4次方中情况,所以全部判断一遍不可行.不过将他们对半分成AB和CD再考虑的话就可以解决了 ...

  4. UVA 1152 4 Values Whose Sum is Zero 和为0的4个值 (中途相遇)

    摘要:中途相遇.对比map,快排+二分查找,Hash效率. n是4000的级别,直接O(n^4)肯定超,所以中途相遇法,O(n^2)的时间枚举其中两个的和,O(n^2)的时间枚举其他两个的和的相反数, ...

  5. cdh的集成phoenix安装_环境篇:Kylin3.0.1集成CDH6.2.0

    环境篇:Kylin3.0.1集成CDH6.2.0 Kylin是什么? Apache Kylin™是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析( ...

  6. 0.1+0.2真不等于0.3?你知道不

    先看下代码: <script>console.log(0.1+0.2) </script> 打印出来的值 有什么办法解决呢? bignumber.js 1.引入到项目中: &l ...

  7. 为什么 HashMap 加载因子一定是0.75?而不是0.8,0.6?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的 ...

  8. Oracle 10.2.0.5升级至11.2.0.4

    参照MOS 官方文档 Complete Checklist for Manual Upgrade to Oracle Database 11gR2 (11.2) (Doc ID 837570.1) 一 ...

  9. 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由

    [索引页] [源码下载] 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由, 自定义CacheProvider, 新增的表达式<%: expression %& ...

  10. sysbench 1.0.6 mysql_mysql sysbench 1.0.X

    1.安装sysbench yum install sysbench 2.download source code sysbench-1.0.14\src\lua,所有文件上传Linux /opt目录 ...

最新文章

  1. 计算机四级分数怎么查,计算机三四级成绩查询正确打开方式
  2. python时间重叠_最常见的重叠范围-Python3.x
  3. 『数据中心』供配电与空调设计基础知识
  4. 掌握AI核心技巧,一站式数据采集处理与智能识别公开课
  5. js(Dom+Bom)第五天(1)
  6. 【2018.5.12】模拟赛之一-ssl2413 排名【玄学】
  7. hdu 确定比赛名次
  8. 命令创建mysql数据库_怎么在命令行创建一个mysql数据库
  9. 刘志明 | 知识图谱及金融相关
  10. vs2008保存超级慢
  11. SAP License:SaaS的生门到底在哪里?
  12. java如何遍历字典_Java中如何遍历Map对象的4种方法
  13. Abaqus安装在lincense server1出错
  14. 金格插件WebOffice2015使用体会
  15. Python学习笔记2:indent expected、unindent does not match any outer indentation level
  16. c语言乘法除法结合律,C语言运算符的优先级和结合律
  17. 【软件工程】数据流图 ( 数据流图简介 | 数据流图概念 | 数据流 | 加工 | 数据存储 | 外部实体 | 数据流图分层 | 顶层数据流图 | 中层数据流图 | 底层数据流图 )
  18. 人,羊,狼,菜过河问题的计算机编程实现的matlab程序,人狼羊菜渡河问题(含Matlab程序)...
  19. c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!
  20. 录屏工具下载哪个好?分享:超简单的录屏工具及实用方法

热门文章

  1. 常用颜色RGB表 色值
  2. SQL分组排序函数(组内分别排序)
  3. 服务器数据库文件恢复,数据库数据恢复
  4. win10专业版 原版安装教程
  5. VBA操作CAD画一条直线
  6. 【干货】Excel中的换行符,这几种用法你会哪些?
  7. python取系统日期前一天_python 获取前一天或前N天的日期
  8. 搜狗新闻爬取怎么破解反爬机制呀,求指教
  9. iPad横竖屏代码适配
  10. Ubuntu 20.04 通过 docker 安装 微信 和 QQ、修改字体大小