Cod sursa(job #1378805)

Utilizator dumitrubogdanDumitru Bogdan Mihai dumitrubogdan Data 6 martie 2015 14:28:42
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.27 kb
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <windows.h>
using namespace std;

int a[7];
int n=3;
int numere[]={0,1,2,3};
int s=13;
bool suma_gasita=false;



bool suma_corecta();
void rec();
void citire();
void afisare();

int main(){
    int i;
    citire();
    for(i=6;i>=1;i--)
        a[i]=1;
    for(i=1; i<=pow(n,6) && !suma_gasita;i++){
        rec();
    }
    afisare();

    return 0;
}

bool suma_corecta(){
    int i,sum=0;
    for(i=1;i<=6;i++){
        sum+=numere[a[i]];
    }
    if(sum==s){
        suma_gasita=true;
        return true;
    }
    return false;
}

void rec(){
    int i;
    for(i=6;i>=1;i--){
        if(a[i]<n){
            a[i]++;
            break;
        }
        else
            a[i]=1;
    }
    suma_corecta();
}

void citire(){
    FILE *f=fopen("loto.in","r");
    fscanf(f,"%d,%d",&n,&s);
    for(int i=1;i<=n;i++){
        fscanf(f,"%d",&numere[i]);
    }
    fclose(f);
}

void afisare(){
    int i;
    FILE *f=fopen("loto.out","w");
    if(!suma_gasita){
        fprintf(f,"-1");
        //printf("-1");
    }
    else
        for(i=1;i<=6;i++){
            fprintf(f,"%d ",a[i]);
            //printf("%d ",a[i]);
        }
    fclose(f);
}