Pagini recente » Borderou de evaluare (job #2682735) | Cod sursa (job #466190)
Cod sursa(job #466190)
#include<cstdio>
int rasp,REZ,n,a[301];
bool f[301],frecv[301];
bool verif(int x)
{
for(int i=1;i<=x;i++)
if(f[i]==false)
return false;
return true;
}
void back(int l)
{
if(l==n+1)
{
int qq=0;
for(int i=1;i<=n;i++)
f[i]=false;
for(int i=1;i<=n;i++)
{
f[a[i]]=true;
if(verif(i))
qq++;
}
if(qq==REZ)
rasp++;
}
for(int i=1;i<=n;i++)
if(frecv[i]==false)
{
frecv[i]=true;
a[l]=i;
back(l+1);
frecv[i]=false;
}
}
int main()
{
freopen("perm2.in","r",stdin);
freopen("perm2.out","w",stdout);
scanf("%d%d",&n,&REZ);
if(n==REZ) printf("1");
else
{
back(1);
printf("%d",rasp);
}
return 0;
}