HDU 2141——Can you find it?
来源:互联网 发布:龙岗区数据统筹办公室 编辑:程序博客网 时间:2024/06/13 00:33
二分查找
把a[A]数组和b[B]数组相加,得到ab[A*B]。
然后二分查找。
#include<iostream>#include<algorithm>#include<cstdio>using namespace std;#define maxn 504bool cmp(int a,int b){return a<b;}int main(){int a[maxn];int b[maxn];int ab[maxn*maxn];int c[maxn];int A,B,C;int flag=1;int m;while(cin>>A>>B>>C){int i,j;for(i=0;i<A;i++)cin>>a[i];for(i=0;i<B;i++)cin>>b[i];for(i=0;i<C;i++)cin>>c[i];int k=0;for(i=0;i<A;i++)for(j=0;j<B;j++)ab[k++]=a[i]+b[j];sort(ab,ab+A*B,cmp);sort(c,c+C,cmp);cin>>m;printf("Case %d:\n",flag);while(m--){int x;int f=0;cin>>x;for(i=0;i<C;i++){int l=0,r=A*B-1;int mid=(l+r)/2;while(abs(l-r)>1&&!f){if(x-c[i]>ab[mid])l=mid;elseif(x-c[i]<ab[mid])r=mid;elsef=1;mid=(l+r)/2;}if(f)break;}if(f)printf("YES\n");elseprintf("NO\n");}flag++;}return 0;}
- HDU——Can you find it?
- hdu 2141——Can you find it(二分查找)
- HDU 2141——Can you find it?
- HDU——2141 Can you find it?
- hdu(2141)——Can you find it?
- HDU/HDOJ 2141 Can you find it?
- hdu 2141 can you find it?
- HDU-2141 can you find it?
- hdu 2141 Can you find it?
- Can you find it? hdu 2141
- HDU 2141 Can you find it?
- hdu 2141 Can you find it ?
- hdu(2141) Can you find it?
- Can you find it?(hdu 2141)
- hdu 2141 Can you find it?
- HDU 2141 Can you find it?
- HDU - 2141 Can you find it?
- hdu 2141 Can you find it? 二分
- Oracle Linux 6.4 发布
- JS生成遮罩层
- matlab 直方图归一化
- 教你如何迅速秒杀掉:99%的海量数据处理面试题
- 第十一周项目一——派生类的应用1(派生类可直接调用基类)
- HDU 2141——Can you find it?
- 02_简单web的发布和web项目的目录结构
- 利用数据集在水晶报表中显示图像的 .NET 程序教程
- 实用windows远程桌面登陆ubuntu
- OpenCV机器学习概观、资源、实现
- 关于accept和getpeername的address_len参数的问题
- 转载:《myeclipse6.5安装m2eclipse方法》
- 关于迁移 rac中ocr votedisk
- OpenCV机器学习(1):贝叶斯分类器实现代码分析