POJ-2549-Sumsets
2013-04-09 18:58
337 查看
书上说的解法应该是中途相遇法,网上搜索了下原来意思是将a+b+c=d拆分成 a+b=d-c进行搜索答案,搜索的时候用了二分的方法。
代码:
代码:
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int inf=-600000000; int a[1001]; int main() { int n; while(scanf("%d",&n)&&n) { for(int i=0;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); n--; int ans=inf; for(int i=n;i>=0;i--) { for(int j=n;j>=0;j--) { if(i==j) continue; int sum=a[i]-a[j]; for(int l=0,r=j-1;l<r;) { if(a[l]+a[r]==sum) { ans=a[i]; break; } if(a[l]+a[r]>sum) r--; else l++; } if(ans!=inf) break; } if(ans!=inf) break; } if(ans==inf) printf("no solution\n"); else printf("%d\n",ans); } return 0; }
相关文章推荐
- poj 2549 Sumsets
- poj 2549 Sumsets(折半枚举)
- poj2549——Sumsets
- POJ 2549 Sumsets
- poj 2549 Sumsets (折半枚举)
- Poj 2549/Hoj 1879 Sumsets
- POJ 2549 Sumsets hash
- POJ-----2549---Sumsets---二分
- 【POJ 2549 Sumsets】+ 技巧枚举
- poj 2549 Sumsets
- poj--2549--Sumsets(二分)
- poj 2549 Sumsets 【二分&&模拟】
- Poj 2549 Sumsets【巧妙枚举】
- POJ - 2549 Sumsets(折半枚举)
- POJ 2549:Sumsets
- UVA 10125 - Sumsets(POJ 2549) hash
- poj 2549 Sumsets(hash)
- POJ 2549 Sumsets
- [poj] 2549 Sumsets || 双向bfs
- UVA 10125 - Sumsets(POJ 2549) hash