和为0的4个值(4 Values Whose sum is Zero UVa 1152)
2016-01-31 19:51
645 查看
题目
#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<algorithm> #include<string> #include<sstream> #include<set> #include<vector> #include<stack> #include<map> #include<queue> #include<cstdlib> #include<cstdio> #include<cstring> #include<cmath> using namespace std; const int maxn=4000+5; int AB[maxn*maxn],CD[maxn*maxn]; int main(){ int T; int A[maxn],B[maxn],C[maxn],D[maxn]; scanf ("%d",&T); while(T--){ int n; scanf ("%d",&n); for (int i=1;i<=n;i++){ scanf ("%d %d %d %d",&A[i],&B[i],&C[i],&D[i]); } for (int i=1;i<=n;i++) for (int j=1;j<=n;j++){ AB[(i-1)*n+j]=A[i]+B[j]; CD[(i-1)*n+j]=C[i]+D[j]; } sort(AB+1,AB+n*n+1); sort(CD+1,CD+n*n+1); long long num=0; int k1,k2; CD[0]=-999999999; for (int i=1;i<=n*n;i++){ if(CD[i]==CD[i-1]) { num+=(k2-k1); continue; } k1=lower_bound(AB+1,AB+n*n+1,-CD[i])-AB; k2=upper_bound(AB+1,AB+n*n+1,-CD[i])-AB; num+=(k2-k1); } printf("%lld\n",num); if(T) printf ("\n"); } return 0; }
相关文章推荐
- NGUI ScrollView 最彻底优化方案 加载大量(百万级)Item不卡的()
- Bluez调试工具hcitool与gattool的使用实例
- iOS使用XZMRefresh实现UITableView或UICollectionView横向刷新
- B. Guess the Permutation
- UINavigationController练习
- 修改Request 中的数据
- RabbitMQ学习笔记
- Intergraph CADWorx (Plant, P&ID, Equipment, IP, SpecEditor) 2016 v16.0-ISO 1DVD
- java.sql.SQLException: General error, message from server: "Field 'ID' doesn't have a default value
- java.net.SocketException: Can't assign requested address
- busybox filesystem matrix-gui-2.0 undefined function json_encode()
- UItextView回收键盘的几种方式
- LeetCode Unique Binary Search Trees
- android-Building a Notification,Preserving Navigation when Starting an Activity
- Codeforces 67C Sequence of Balls 编辑距离 dp
- BZOJ-1206 虚拟内存 Hash+离散化+Priority_Queue
- BZOJ-1206 虚拟内存 Hash+离散化+Priority_Queue
- iOS UITextField
- iOS8下的UIAlertContoller初探
- UE-9260使用说明1