Pagini recente » Cod sursa (job #1371498) | Cod sursa (job #3168740) | Istoria paginii runda/nu_poate_veni_deci_nu_e_shimulare | Cod sursa (job #1433289) | Cod sursa (job #856912)
Cod sursa(job #856912)
#include <iostream>
#include <fstream>
using namespace std;
int l,t[1000],u[1000],k,n,p,mini=1300, qmini=10000000;
void megold (int i,int p,int q)
{
int j;
if(i<n)
{
if (t[i]==0 && u[i]==0) megold(i+1,p+1,q);
else if (u[i]==0)
{
for(j=1;j<=t[i];j++)
if(i+j<=n)megold(i+j,p+1,q);
}
else if (t[i]==0)
{
for(j=1;j<=u[i];j++)
if(i+2*j<=n)megold(i+2*j,p+1,q+j);
}
else
{
for(j=1;j<=t[i];j++)
if(i+j<=n)megold(i+j,p+1,q);
for(j=1;j<=u[i];j++)
if(i+2*j<=n) megold(i+2*j,p+1,q+j);
}
}
if(i==n)
{
if(mini>p) { mini=p;qmini=q;}
else if (mini==p&&q<qmini) qmini=q;
}
}
int main()
{
int i,a,b;
fstream f,g;
f.open("scara3.in", ios::in);
f>>n;
f>>k;
for(i=0;i<k;i++)
{
f>>a>>b;
t[a]=b;
}
f>>l;
for(i=0;i<l;i++)
{
f>>a>>b;
u[a]=b;
}
megold(0,0,0);
g.open("scara3.out",ios::out);
g<<mini<<" "<<qmini;
return 0;
}