Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ConsoleApplication2
- {
- class Program
- {
- public static int vysledek = 0;
- static void Main(string[] args)
- {
- int pocet = 0;
- int x = 0;
- int y = 0;
- int help = 0;
- int sirka = Int32.Parse(Console.ReadLine());
- int vyska = Int32.Parse(Console.ReadLine());
- int[,] tabulka = new int[vyska, sirka];
- string s1 = Console.ReadLine();
- for (int i = 0; i < vyska; i++)
- {
- for (int j = 0; j < sirka; j++)
- {
- tabulka[i, j] = s1[pocet];
- pocet++;
- }
- }
- string s2 = Console.ReadLine();
- osek(s1, s2);
- rekurze(help, vyska, sirka, tabulka, s2, x, y, 0);
- vysledek = vysledek + s2.Length;
- Console.WriteLine(s2);
- Console.ReadLine();
- }
- public static string osek(string s1, string s2)
- {
- bool b = false;
- for (int i = 0; i < s2.Length; i++)
- {
- for (int j = 0; j < s1.Length; j++)
- {
- if (s1[j] == s2[i])
- {
- b = true;
- }
- }
- if (b == false)
- {
- s2 = s2.Replace(s2[i].ToString(), "");
- i--;
- }
- else b = false;
- }
- return s2;
- }
- public static void rekurze(int help, int vyska, int sirka, int[,] tabulka, string s2, int x, int y, int parametr)
- {
- if (parametr < s2.Length)
- {
- for (int i = 0; i < vyska; i++)
- {
- for (int j = 0; j < sirka; j++)
- {
- if (tabulka[i, j] == s2[parametr])
- {
- help += Math.Abs(i - y) + Math.Abs(j - x);
- rekurze(help, vyska, sirka, tabulka, s2, j, i, parametr + 1);
- help -= Math.Abs(i - y) + Math.Abs(j - x);
- }
- }
- }
- }
- else
- {
- if (help != 0 && (help < vysledek || vysledek == 0))
- vysledek = help;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement