UVA - 10125 Sumsets
来源:互联网 发布:itunes如何删除软件 编辑:程序博客网 时间:2024/05/26 02:55
题目大意:给出一个集合,问集合里面是否有满足d = a+ b + c最大d(a,b,c,d都是集合里面的数字)
解题思路:先排序,d从最大的给,a也从最大的给,b从比a小的给,c取最小值,如果满足a+b+c=d,即满足条件,如果a+b+c < d,则让c变大,如果 a+b+c>d,则让b变小,具体请看代码
#include<cstdio>#include<set>#include<algorithm>using namespace std;long long num[1005];int a,b,c,d;int number;bool judge() {for(d = number - 1; d >= 0; d--)for(a = number - 1; a > 0; a--)for(b = a - 1, c = 0; b > c && a != d;)if(num[d] == num[a] + num[b] + num[c])return true;elsenum[d] > num[a] + num[b] + num[c] ? c++:b--;return false;}int main() {while(scanf("%d",&number) != EOF && number) {for(int i = 0; i < number; i++)scanf("%lld",&num[i]);sort(num,num+number);if(judge())printf("%lld\n",num[d]);elseprintf("no solution\n");}return 0;}
0 0
- UVa 10125 - Sumsets
- uva 10125 - Sumsets
- uva 10125 Sumsets
- UVa 10125 - Sumsets
- uva 10125 - Sumsets
- UVA 10125 Sumsets
- UVA 10125 - Sumsets
- UVa 10125-Sumsets
- UVa:10125 Sumsets
- uva 10125 Sumsets
- UVA 10125 Sumsets
- UVa 10125 - Sumsets
- UVA 10125 - Sumsets
- UVA - 10125 Sumsets
- UVA - 10125 Sumsets
- uva 10125 - Sumsets
- UVA 10125(p89)----Sumsets
- UVA 10125 Sumsets .
- 学习用php+mysql做简单的会员注册页面(学习记录)20141106
- High Performance Browser Networking - TCP UDP TLS
- 《数据结构》实验三: 栈和队列实验
- 14-蓝桥杯决赛-国王的遗产
- YII 实现布局
- UVA - 10125 Sumsets
- objective-c中protocol
- 第十周项目三 血型统计
- 云计算概述
- 第十周项目1--单步运行
- PAT(A) 1025
- STL顺利容器之双端队列(deque)
- Android开发学习——Android XML解析——DOM解析
- native2ascii