Cod sursa(job #2836395)

Utilizator AndreiBOTOBotocan Andrei AndreiBOTO Data 20 ianuarie 2022 12:02:25
Problema Dusman Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include<fstream>
#include<vector>

using namespace std;

ifstream fin("dusman.in");
ofstream fout("dusman.out");

int v[1005], a[1005][1005], marcaj[1005];

void permutare(int poz, int k, int n, int &kon)
{
    int i;
	if(kon>k)
	{
		return;
	}
	if(poz==n+1)
	{
		kon++;
		if(k==kon)
		{
			for(i=1;i<=n;i++)
			{
				fout <<v[i]<< " ";
			}
		}
		return;
	}
	for(i=1;i<=n;i++)
	{
		if(!marcaj[i])
		{
			if(a[i][v[poz-1]]==0)
			{
				marcaj[i]=1;
				v[poz]=i;
				permutare(poz+1,k,n,kon);
				marcaj[i]=0;
			}
		}
	}
}

int main()
{
	int n,m,k,i,kon=0;
	fin>>n>>k>>m;
	for(i=1;i<=m;i++)
	{
		int x,y;
		fin>>x>>y;
		a[x][y] = 1;
		a[y][x] = 1;
	}
	permutare(1, k, n, kon);
	return 0;
}