Pagini recente » Cod sursa (job #1856389) | Cod sursa (job #1154668) | Cod sursa (job #2849550) | Cod sursa (job #2327844) | Cod sursa (job #1401432)
#include<stdio.h>
#define N 17
int n,g,v[N],minCam,fol[N],first;
int back(int sCur,int cam,int pas){
if(pas){
int i;
for(i=1;i<=n;i++)
if(fol[i]==0){
fol[i]=1;
int pp=0,s1=sCur;
sCur+=v[i];
if(sCur>g){
pp=1;
cam++;
sCur=v[i];
}
back(sCur,cam,pas-1);
fol[i]=0;
if(pp)
cam--;
sCur=s1;
}
}
else{
if(cam<minCam)
minCam=cam;
}
}
int main(){
FILE *fin,*fout;
fin=fopen("zebughil.in","r");
fout=fopen("zebughil.out","w");
int t=3;
while(t){
fscanf(fin,"%d%d",&n,&g);
int i;
for(i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
first=1;
minCam=n;
back(0,0,n);
fprintf(fout,"%d\n",minCam+1);
t--;
}
return 0;
}