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: us-ascii
Méret: 1 KB
using System;
using System.Collections;
namespace Elfogo
{
class Program
{
enum El
{
Nincs,
Oda,
Vissza,
Ketiranyu
}
const string InputFile = "elfogo.be6",
OutputFile = "elfogo.ki6";
int N = 0, M = 0;
bool[] voltMar;
El[,] elek;
ArrayList bejaras = new ArrayList();
private void Beolvas()
{
System.IO.StreamReader sr = new System.IO.StreamReader(InputFile);
string[] sor;
N = int.Parse(sr.ReadLine());
M = int.Parse(sr.ReadLine());
voltMar = new bool[N];
elek = new El[N, N];
for (int i = 0; i < M; i++) {
sor = sr.ReadLine().Split();
int x = int.Parse(sor[0]) - 1;
int y = int.Parse(sor[1]) - 1;
elek[x, y] = El.Ketiranyu;
elek[y, x] = El.Ketiranyu;
}
sr.Close();
}
private void Bejar(int csucs, int honnan)
{
voltMar[csucs] = true;
bejaras.Add(csucs);
for (int i = 0; i < N; i++) {
if (elek[csucs, i] == El.Ketiranyu) {
if (!voltMar[i]) {
elek[csucs, i] = El.Vissza;
elek[i, csucs] = El.Oda;
Bejar(i, csucs);
}
}
}
if (honnan != -1)
bejaras.Add(honnan);
voltMar[csucs] = false;
}
private void Kiir()
{
System.IO.StreamWriter sw = new System.IO.StreamWriter(OutputFile);
sw.WriteLine(bejaras.Count);
foreach (int csucs in bejaras)
sw.WriteLine(csucs + 1);
sw.Close();
}
private void Indit()
{
Beolvas();
Bejar(0, -1);
Kiir();
}
public static void Main()
{
Program program = new Program();
program.Indit();
}
}
}