Cod sursa(job #2482189)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 27 octombrie 2019 21:08:04
Problema Dusman Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <iostream>
#include <cstdio>

using namespace std;

//ifstream in ("dusman.in");
ofstream out ("dusman.out");


int st[1015], a[1015][1015], ut[1015], k, n, m, k1;


void afisare()
{
	for(int i = 1; i <= n; i++)
		out << st[i] << " ";
}

void bkt(int i)
{
	for(int k = 1; k <= n; k++)
	{
		if( !a[st[i - 1]][k] && !ut[k])
		{
			st[i] = k;
			ut[k] = 1;
			if(i == n)
			{
				k1++;
				if(k1 == k)
					afisare();
				ut[k] = 0;
			}
			else{
				bkt(i + 1);
				ut[k] = 0;
			}
		}
	}
}


int main()
{
	ios::sync_with_stdio(false);
	int v1,v2;
	FILE *of = fopen ( "dusman.in", "r");
	fscanf( of,  "%d %d %d", &n ,&k, &m);
	for(int i = 1; i <= m ; i++)
	{
		fscanf ( of, "%d %d", &v1, &v2);
		a[v1][v2] = 1;
		a[v2][v1] = 1;
	}

	bkt(1);

	fclose(of);
	out.close();

	return 0;
}