uva 10125 Sumsets

简介: 点击打开链接 题目意思: 给定一个集合s 以及集合的元素,要求找到最大的 d满足 d = a + b + c ,并且 a b c d互不相同 解题思路:  暴力枚举,3s足矣。

点击打开链接


题目意思: 给定一个集合s 以及集合的元素,要求找到最大的 d满足 d = a + b + c ,并且 a b c d互不相同


解题思路:  暴力枚举,3s足矣。注意要把元素相同情况给舍去即可。


代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <stack>
#include <queue>
#include <set>
using namespace std;
#define MAXN 1010

int ans , flag;
int s[MAXN];

int main(){
    //freopen("input.txt" , "r" , stdin);
    int n , m , t;
    while(scanf("%d" , &n) && n){
        memset(s , 0 , sizeof(s)) ; flag = 0;
        for(int i = 0 ; i < n ; i++) scanf("%d" , &s[i]);
        sort(s , s+n);
        for(int i = n-1 ; i >= 0 ; i--){
            for(int j = n-1 ; j >= 0 ; j--){
                if(j == i) continue;
                for(int k = n-1 ; k >= 0 ; k--){
                    if(k == j || k == i) continue;
                    for(int g = n-1 ; g >= 0 ; g--){
                        if(g == i || g == j || g == k) continue;
                        if(s[i] == s[j]+s[k]+s[g]){
                            flag = 1 ; ans = s[i] ; break;
                        } 
                    }
                    if(flag) break;
                }
                if(flag) break;
            }
            if(flag) break;
        }
        if(flag) printf("%d\n" , ans);
        else printf("no solution\n");
    }
    return 0;
}



目录
相关文章
uva10152 ShellSort
uva10152 ShellSort
61 0
|
存储 固态存储
|
机器学习/深度学习 人工智能
uva 10870 Recurrences
点击打开uva 10870 思路:构造矩阵+矩阵快速幂 分析: 1 题目给定f(n)的表达式 f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n -3) + .
735 0
uva 10054 - The Necklace
点击打开链接uva 10054 思路: 欧拉回路 分析: 1 对于一个无向图来说如果这个图是一个欧拉图,那么必须满足该图是连通的并且每个点的度数都是偶数 2 题目给定n条边的无向图问我们是否是一个欧拉图,是的话输出欧拉图的一条路径 3 ...
838 0
|
JavaScript 定位技术
uva 10047 - The Monocycle
点击打开链接uva 10047 思路:bfs 分析: 1 题目给定一个起始的状态然后要求是否可以到达目标状态 2 这些状态包括了位置,方向,底面颜色。
849 0
|
人工智能
uva 11300 - Spreading the Wealth
点击打开链接uva 11300 思路:数学分析+贪心 分析: 1 首先最终每个人的金币数量可以计算出来,它等于金币总数除以人数n。接下来我们用m来表示每人的最终的金币数 2 现在假设编号为i的人初始化为Ai枚金币,Xi表示第i个人给第i-1个人Xi枚金币,对于第一个人来说他是给第n个人。
863 0
UVA11991
给出一个包含n个整数的数组,每次询问两个整数k和v,输出从左到右第k个v的下标(从1到n) 白书指导书的例题。。不过可以写的更短一点: #include #include #include #include using namespace std; mapa; int m...
595 0
|
Python 人工智能 资源调度
UVA11525
题意:给定N与K(均为正整数)可以确定第K个全排列(1..N的全排列),但N较大,现以N=sigma(Si×(K-i)!)(i=1..K)的形式,输入K以及Si,i=1..K,请输出第K个全排列 分析:逆向去想,对于一个给定的全排列可以确定它的序号K,K的表达式形式与N类似,发现从Si可以确定第K个全排列中的第i项,具体用线段树实现查找第i项即可。
606 0