Pagini recente » Cod sursa (job #3146800) | Cod sursa (job #742555) | Cod sursa (job #753264) | Cod sursa (job #1270420) | Cod sursa (job #576599)
Cod sursa(job #576599)
#include<iostream>
#include<fstream>
#include<stdio.h>
using namespace std;
long g; int viz[18],x[18],n,nr,w[18],mini;
long long s;
int back(int k)
{
int i;
if(k==n+1)
{
if(nr<mini)
mini=nr;
}
else
{
for(i=1;i<=n;i++)
if((viz[i]==0)&&(s+w[i]<=g))
{
s=s+w[i];
viz[i]=1;
x[k]=w[i];
back(k+1);
viz[i]=0;
}
else if(viz[i]==0)
{
nr++;
//if(nr>mini)
//break;
s=0;
s=s+w[i];
viz[i]=1;
x[k]=w[i];
back(k+1);
viz[i]=0;
nr--;
}
}
}
int main()
{
ifstream f("zebughil.in");
ofstream gr("zebughil.out");
int i,j;
for(i=1;i<=3;i++)
{
f>>n>>g;
for(j=1;j<=n;j++)
{ f>>w[j];
viz[j]=0;
x[j]=0;
}
s=0;
mini=100000;
nr=1;
back(1);
gr<<mini<<endl;
}
}