Az alábbi letöltési lehetőségek közül választhatsz: (
segítség)
Típus: text/plain
Tartalmaz szöveget
Karakterkódolás: utf-8
Méret: 5 KB
using System;
using System.Collections.Generic;
using System.IO;
using System.Collections;
namespace hajok
{
class MainClass
{
public static int n;
public static int e;
public static bool[,] szov;
public static void beolvas(string fileName)
{
TextReader tr=new StreamReader(fileName);
string[] l=tr.ReadLine().Split(' ');
n=Convert.ToInt32(l[0]);
l=tr.ReadLine().Split(' ');
e=Convert.ToInt32(l[0]);
szov=new bool[n,n];
for (int i=0; i<e; i++)
{
l=tr.ReadLine().Split(' ');
szov[Int32.Parse(l[0])-1,Int32.Parse(l[1])-1]=true;
szov[Int32.Parse(l[1])-1,Int32.Parse(l[0])-1]=true;
}
tr.Close();
}
public static void irdki(int[] tomb)
{
for(int i=0;i<tomb.Length;i++)
Console.Write((tomb[i]+1)+"|");
Console.WriteLine();
}
public static bool nincsbenne(int[] tomb,int eddig,int n)
{
for(int i=0;i<eddig;i++)
{
if(tomb[i]==n)return false;
}
return true;
}
public static int[] ketszele(int[] tomb,int meddig)
{
int[] r=new int[n];
bool[] bennevan=new bool[n];
for(int i=0;i<=meddig;i++)
{
bennevan[tomb[i]]=true;
}
int egytrue=0;
for(int i=0;i<n;i++)
{
if(bennevan[i])
{
egytrue=i;
break;
}
}
for(int i=egytrue;true;i++)
{
if(i==n)i=0;
if(!bennevan[i])
{
r[0]=i;
break;
}
}
for(int i=egytrue;true;i--)
{
if(i%n==-1)i=n-1;
if(!bennevan[i])
{
r[1]=i;
break;
}
}
return r;
}
public static void bejar(int[] mar, int most)
{
if(most==n-1)
{
irdki(mar);
return;
}
int[] ketsz=ketszele(mar,most);
if(most==n-2)
{
int i=ketsz[0];
if(szov[mar[most],i]&&nincsbenne(mar,most+1,i))
{
mar[most+1]=i;
bejar(mar,most+1);
}
return;
}
for(int j=0;j<2;j++)
{
int i=ketsz[j];
if(szov[mar[most],i]&&nincsbenne(mar,most+1,i))
{
mar[most+1]=i;
bejar(mar,most+1);
}
}
}
public static void Main(string[] args)
{
beolvas("mexico12.in");
int[] mar=new int[n];
for(int i=0;i<n;i++)
{
mar[0]=i;
bejar(mar,0);
}
Console.WriteLine("VEGE");
Console.ReadLine();
}
}
}