博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2785(4 Values whose Sum is 0)
阅读量:4658 次
发布时间:2019-06-09

本文共 1000 字,大约阅读时间需要 3 分钟。

【题意描述】

对于给定的四个序列,从每个序列中选出一个数,并让四个数相加,输出所有相加和为0的情况数目。

【解题思路】

我们可以考虑前两列的数字相加之和一定与后两列相加和互为相反数,那么我们可以枚举出前两列数字之和,并且,枚举出后两列数据之和的相反数,并对之排序,然后利用二分法进行查找即可。

【AC代码】

#include
#include
using namespace std;int n,ans,a[4040],b[4040],c[4040],d[4040],ab[4040*4040],cd[4040*4040];int main(){ int n; while(cin>>n) { for(int i=0;i
>a[i]>>b[i]>>c[i]>>d[i]; int pab=0,pcd=0; for(int i=0;i
=0;j--) { if(cd[j]==ab[i]) ans++; else break; } break; } else { if(cd[mid]>ab[i]) up=mid-1; else low=mid+1; } } } cout<
<

 

转载于:https://www.cnblogs.com/khbcsu/p/3892671.html

你可能感兴趣的文章
会话记住已登录功能
查看>>
Linux内核分析——可执行程序的装载
查看>>
第一阶段冲刺3
查看>>
父类引用指向子类对象
查看>>
网页如何实现下载功能
查看>>
IT男专用表白程序
查看>>
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>