Pagini recente » Cod sursa (job #2128240) | Cod sursa (job #2420429) | Cod sursa (job #2930401) | Cod sursa (job #1431781) | Cod sursa (job #440657)
Cod sursa(job #440657)
Utilizator |
Bara bum Froze |
Data |
12 aprilie 2010 12:31:45 |
Problema |
Gutui |
Scor |
0 |
Compilator |
c |
Status |
done |
Runda |
teme_upb |
Marime |
1.1 kb |
#include <stdlib.h>
#include <stdio.h>
int min(int a,int b) // aflare min
{
return a < b ? a : b;
}
int m[100][3];
int n,h,u;
void read_m() //citire normala din fisier
{
FILE *file;
file= fopen("gutui.in","r");
int i,j;
fscanf(file,"%d",&n);
fscanf(file,"%d",&h);
fscanf(file,"%d",&u);
for(i=0;i<n;i++)
fscanf(file,"%d %d",&m[i][0],&m[i][1]);
close(file);
for(i=0;i<n;i++)
m[i][2]=0;
}
int GO(int inaltime,int gt)
{
int i,j,g=gt,tmp;
for(i=0;i<n;i++)
if(inaltime+m[i][0]<=h)
if(m[i][2]==0)
{
m[i][2]=1;
tmp=GO(inaltime+u,gt+m[i][1]);
m[i][2]=0;
if(tmp>g)
g=tmp;
}
return g;
}
int main()
{
read_m();
FILE *file;
file=fopen("gutui.out","w");
fprintf(file,"%d",GO(0,0));
// int i;
// for(i=0;i<n;i++)
// if(m[i][2]==1)
// printf("%d",i);
// printf("%d\n",GO(0,0));
// for(i=0;i<n;i++)
// if(m[i][2]==1)
// printf("%d",i);
}