Cod sursa(job #3367386)
| Utilizator | Data | 7 octombrie 2026 12:35:14 | |
|---|---|---|---|
| Problema | Dusman | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.23 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("dusman.in");
ofstream cout("dusman.out");
int n,k,m,pas,k1,a,b;
int dujman[1001][4],nr[1001],x[1001],f[1001];
void dusmanie(int pas)
{
if(k1<=k)
{
if(pas>n)
{
k1++;
if(k1==k)
{
for(int i=1;i<=n;i++)
{
cout<<x[i]<<" ";
}
///cout<<'\n';
}
}
for(int i=1;i<=n;i++)
{
x[pas]=i;
if(f[x[pas]]==0)
{
int ok=0;
for(int j=1;j<=3;j++)
{
if(dujman[x[pas]][j]==x[pas-1])
{
ok=1;
}
}
if(ok==0)
{
f[x[pas]]=1;
dusmanie(pas+1);
f[x[pas]]=0;
}
}
}
}
}
int main()
{
x[0]=1001;
cin>>n>>k>>m;
for(int i=1;i<=m;i++)
{
cin>>a>>b;
dujman[a][++nr[a]]=b;
dujman[b][++nr[b]]=a;
}
dusmanie(1);
return 0;
}
