Cod sursa(job #2742868)

Utilizator linte_robertLinte Robert linte_robert Data 22 aprilie 2021 01:50:32
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.6 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <cstring>
using namespace std;
int disjuncte( vector < int > v1, vector < int > v2 ){
    if( v1[0] != v2[0] && v1[1] != v2[0] && v1[1] != v2[1] && v1[0] != v2[1] ) return 1;
    else return 0;
}

int sume( vector < int > v1, vector < int > v2 , vector < int > v ){
    int suma = 0;
    suma = v[v1[0]] + v[v1[1]] + v[v2[0]] + v[v1[1]];
    return suma;
}

int main(){
    int n ;
    int suma ;
    int contor = 0;
    vector < int > v;
    ifstream fin( "loto.in" );
    ofstream fout( "loto.out" );
    fin >> n >> suma;
    for( int i = 0; i < n; i++ ){
        int x;
        fin >> x;
        v.push_back(x);
    }
    vector < vector < int > > solutii;
    int ok = 1;
    for( int i1 = 0; i1 < v.size() && ok == 1; i1++ ){
        for( int i2 = 0; i2 < v.size() && ok == 1; i2++ ){
            for( int i3 = 0; i3 < v.size() && ok ==1; i3++ ){
                for( int i4 = 0; i4 < v.size() && ok == 1; i4++ ){
                    for( int i5 = 0; i5 < v.size() && ok == 1; i5++ ){
                        for( int i6 = 0; i6 < v.size() && ok == 1; i6++ ){
                            if( v[i1]+v[i2]+v[i3]+v[i4]+v[i5]+v[i6] == suma ){
                                fout << v[i1] << " " << v[i2] << " " << v[i3] << " " << v[i4] << " " << v[i5] << " " << v[i6];
                                ok = 0;
                            }
                        }
                    }
                }
            }
        }
    }
    if( ok == 1 ) fout << -1;
}