Pagini recente » Cod sursa (job #1585470) | Clasament pregatire_sibiu | Cod sursa (job #2273404) | Cod sursa (job #1922941) | Cod sursa (job #244445)
Cod sursa(job #244445)
#include<fstream.h>
#include<string.h>
ifstream f("dusman.in");
ofstream g("dusman.out");
int nr,q,i,k,m,n,x[100],x1,x2;
long a[1000][1000];
void tipar ()
{nr++;
if (nr==q) {for (i=0;i<=k;i++) {g<<x[i]<<" ";}}
int valid (int k)
{int i,ok=1;
for (i=0;i<k;i++) if (x[k]==x[i]) ok=0;
if (k>0) if (a[x[k]][x[k-1]]) ok=0;
return ok;
}
int solutie (int k)
{if (k==(n-1)) return 1;
else return 0;}
void back ()
{k=0;x[k]=0;
while (k>-1)
if (x[k]<n)
{x[k]++;
if (valid (k)) if (solutie(k)) tipar();
else {k++;x[k]=0;}
}
else k--;
}
int main ()
{f>>n>>q>>m;
for (i=0;i<m;i++) {f>>x1>>x2;a[x1][x2]++;a[x2][x1]++;}
back ();
return 0;}