Pagini recente » Cod sursa (job #1422250) | Cod sursa (job #300609) | Cod sursa (job #2572198) | Cod sursa (job #948793) | Cod sursa (job #466295)
Cod sursa(job #466295)
#include<stdio.h>
#include<string>
FILE*f=fopen("permutari2.in","r");
FILE*g=fopen("permutari2.out","w");
int ok,p,x[310],n,u,nr,nr2;
char viz[310],viz2[310];
void perm(int k){
int i,j;
if(k==n+1){
nr = 0;
for ( i = 1 ; i <= n ; ++i ){
ok = 0;
viz2[x[i]] = 1 ;
for ( j = 1 ; j <= i; ++j )
if( viz2[j] == 0 )
ok = 1;
if( ok == 0 )
++nr;
}
if(nr == p)
++nr2;
memset(viz2,0,sizeof(viz2));
return;
}
for(i=1;i<=n;i++){
if (viz[i]==0) {
x[k]=i;
viz[i] = 1;
perm(k+1);
viz[i] = 0;
}
}
}
int main () {
fscanf(f,"%d %d",&n,&p);
perm(1);
fprintf(g,"%d\n",nr2);
fclose(f);
fclose(g);
return 0;
}