Pagini recente » Cod sursa (job #571452) | Cod sursa (job #1681593) | Cod sursa (job #170082) | Autentificare | Cod sursa (job #1829531)
#include<fstream>
using namespace std;
ifstream f("euler.in");
ofstream g("euler.out");
int n,x,y,m,a[201][201] , v[20001] , ok, p=1;
void citire()
{
f>>n;
while(f>>x>>y)
if(a[x][y]==0)
{
m++;
a[x][y]=a[y][x]=1;
}
}
bool verif(int k)
{
if(a[v[k]][v[k-1]]<1)
return 0;
return 1;
}
void bt(int k)
{
if(k==m+2 and v[k-1]==1)
ok=1;
else
for(int i=1;i<=n and ok==0 ;i++)
{
v[k]=i;
if(verif(k))
{
a[v[k]][v[k-1]]=a[v[k-1]][v[k]]= -1;
bt(k+1);
a[v[k]][v[k-1]]=a[v[k-1]][v[k]]=1;
}
}
}
int main()
{
citire();
v[1]=1;
bt(2);
g<<m+1<<'\n';
for(int i=1;i<=m+1;i++)
g<<v[i]<<" ";
g.close();
return 0;
}