Pagini recente » Cod sursa (job #668978) | Cod sursa (job #2022511) | Cod sursa (job #656451) | Cod sursa (job #2263077) | Cod sursa (job #51837)
Cod sursa(job #51837)
// Problema loto
// Backtracking... so help me god!!!
#include <stdio.h>
#define MAX 101
#define SOL 6
long s[SOL+1];
long N[MAX];
long suma;
int main()
{
int n, cd, i;
long max = 0;
freopen( "loto.in", "rt", stdin );
scanf( "%d %ld", &n, &suma );
for( i=1; i<=n; i++ ) { scanf( "%ld", &N[i] ); if( N[i] > max ) max = N[i]; }
fclose( stdin );
freopen( "loto.out", "wt", stdout );
if( max*6 < suma )
{
printf( "-1\n" );
fclose( stdout );
return 0;
}
else
{
int s1, s2, s3, s4, s5, s6;
for( s1=1; s1<=n-5; s1++ )
for( s2=s1; s2<=n-4; s2++ )
for( s3=s2; s3 <=n-3; s3++ )
for( s4=s3; s4<=n-2; s4++ )
for( s5=s4; s5<=n-1; s5++ )
for( s6=s5; s6<=n; s6++ )
if( N[s1]+N[s2]+N[s3]+N[s4]+N[s5]+N[s6] == suma )
{
printf( "%ld %ld %ld %ld %ld %ld\n",
N[s1], N[s2], N[s3], N[s4], N[s5], N[s6] );
fclose( stdout );
return 0;
}
}
printf( "-1\n" );
fclose( stdout );
return 0;
}