Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.53 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication2
  7. {
  8.     class Program
  9.     {
  10.         public static int vysledek = 0;
  11.         static void Main(string[] args)
  12.         {
  13.             int pocet = 0;
  14.             int x = 0;
  15.             int y = 0;
  16.             int help = 0;
  17.             int sirka = Int32.Parse(Console.ReadLine());
  18.             int vyska = Int32.Parse(Console.ReadLine());
  19.             int[,] tabulka = new int[vyska, sirka];
  20.             string s1 = Console.ReadLine();
  21.             for (int i = 0; i < vyska; i++)
  22.             {
  23.                 for (int j = 0; j < sirka; j++)
  24.                 {
  25.                     tabulka[i, j] = s1[pocet];
  26.                     pocet++;
  27.                 }
  28.             }
  29.             string s2 = Console.ReadLine();
  30.             osek(s1, s2);
  31.             rekurze(help, vyska, sirka, tabulka, s2, x, y, 0);
  32.             vysledek = vysledek + s2.Length;
  33.             Console.WriteLine(s2);
  34.             Console.ReadLine();
  35.         }
  36.  
  37.         public static string osek(string s1, string s2)
  38.         {
  39.             bool b = false;
  40.             for (int i = 0; i < s2.Length; i++)
  41.             {
  42.                 for (int j = 0; j < s1.Length; j++)
  43.                 {
  44.                     if (s1[j] == s2[i])
  45.                     {
  46.                         b = true;
  47.                     }
  48.                 }
  49.                 if (b == false)
  50.                 {
  51.                     s2 = s2.Replace(s2[i].ToString(), "");
  52.                     i--;
  53.                 }
  54.                 else b = false;
  55.             }
  56.             return s2;
  57.         }
  58.  
  59.         public static void rekurze(int help, int vyska, int sirka, int[,] tabulka, string s2, int x, int y, int parametr)
  60.         {
  61.             if (parametr < s2.Length)
  62.             {
  63.                 for (int i = 0; i < vyska; i++)
  64.                 {
  65.                     for (int j = 0; j < sirka; j++)
  66.                     {
  67.                         if (tabulka[i, j] == s2[parametr])
  68.                         {
  69.                             help += Math.Abs(i - y) + Math.Abs(j - x);
  70.                             rekurze(help, vyska, sirka, tabulka, s2, j, i, parametr + 1);
  71.                             help -= Math.Abs(i - y) + Math.Abs(j - x);
  72.                         }
  73.                     }
  74.                 }
  75.             }
  76.             else
  77.             {
  78.                 if (help != 0 && (help < vysledek || vysledek == 0))
  79.                     vysledek = help;
  80.             }
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement