Pagini recente » Cod sursa (job #1831531) | Cod sursa (job #2968210) | Cod sursa (job #1175294) | Cod sursa (job #1134196) | Cod sursa (job #340006)
Cod sursa(job #340006)
Utilizator |
Zethpix Zethpix |
Data |
12 august 2009 15:56:49 |
Problema |
Dusman |
Scor |
0 |
Compilator |
cpp |
Status |
done |
Runda |
w1 |
Marime |
0.8 kb |
#include <stdio.h>
FILE *f,*g;
long a[1002],b[1002],sol[1002],use[1002],n,x,m,i,nr;
void afis(){
long i;
for(i=1;i<=n;i++)
fprintf(g,"%ld ",sol[i]);
fprintf(g,"\n");
}
long enemy(){
long i,j,k;
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
for(k=1;k<=m;k++)
if(sol[i]==a[k]&&sol[j]==b[k]) return 0;
else
if(sol[i]==b[k]&&sol[j]==a[k]) return 0;
return 1;
}
void back(long k){
if(k>n){
if(enemy) nr++;
if (nr==x){
afis;
return;
}
}
else
for(i=1;i<=n;i++)
if(!use[i]){
use[i]=1;
sol[k]=i;
back(k+1);
use[i]=0;
}
}
int main(){
f=fopen("dusman.in","r");
g=fopen("dusman.out","w");
fscanf(f,"%ld%ld%ld",&n,&x,&m);
for(i=1;i<=m;i++)
fscanf(f,"%ld%ld",&a[i],&b[i]);
back(1);
fclose(f);
fclose(g);
return 0;
}