Cod sursa(job #715597)

Utilizator 5t3fristea stefan 5t3f Data 17 martie 2012 15:08:55
Problema Dusman Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
FILE *f=fopen("dusman.in","r"),*g=fopen("dusman.out","w");
long int n,k,m,v[1002],used[1002],a[1005][1005];
void citire(){
long int i,x,y;
fscanf(f,"%ld %ld %ld\n",&n,&k,&m);
for(i=1; i<=m; i++){
fscanf(f,"%ld %ld\n",&x,&y);
a[x][y]=1; a[y][x]=1;
}
}
void back(long int p){
long int i;
if(k<0){return;}
if(p>n){
//am sol
k--;
if(k==0){
//gasesc perm
for(i=1; i<=n; i++){
fprintf(g,"%ld ",v[i]);
}
return ;
}
}
else{
for(i=1; i<=n; i++){
if(used[i]==0 && a[v[p-1]][i]==0){
used[i]=1;
v[p]=i;
back(p+1);
used[i]=0;
}
}
}
}
int main()
{
citire();
back(1);
return 0;
}