Cod sursa(job #2211424)

Utilizator Another_OneNeculai Gabi Another_One Data 10 iunie 2018 12:03:53
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>

using namespace std;

ofstream g("loto.out");

int Osszeg(int x[])
{
    int S=0;
    for(int i=1;i<=6;i++)
        S=S+x[i];
    return S;
}

int ok;
void reset(int n, int Sz, int &t)
{
   int x[7], p=1, h;
   for(int i=1;i<=6;i++){
       if(i<=6-n){
        x[i]=p;
        h=i;
       }
       else{
        x[i]=p++;
       }
   }
   short int temp;
   for(int i=h+1; i>=1;i--){
       if(Osszeg(x)==Sz){
         for(int i=1;i<=6;i++)
            for(int j=1;j<=6;j++)
            if(x[i]<x[j])
         {
             temp=x[i];
             x[i]=x[j];
             x[j]=temp;
         }
         for(int i=1;i<=6;i++)
            g << x[i] << " ";
          ok=1;
       }
       else{
        x[i]=t;
       }
       if(ok==1) break;
   }
   t++;
   if(t<=n){
    reset(n, Sz, t);
   }
}

int main()
{
    ifstream f("loto.in");
    int n, Sz, t=1;
    f >> n >> Sz;
    reset(n, Sz, t);
    if(ok==0) g << -1;
    return 0;
}