Advertisement
Raizekas

Untitled

Dec 13th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.58 KB | None | 0 0
  1.   static void Patikrinti(Plotai sodas, int x, int y, ref List<List<int>> tikrinamasTaskas)
  2.         {        
  3.             for (int i = x-1; i <= x+1; i++)
  4.             {
  5.                 for(int j=y-1; j<=y+1; j++)
  6.                 {
  7.                     if (i >= 0 && j >= 0 && i < sodas.nn && j < sodas.mm)
  8.                     {
  9.                         Console.Write(sodas.Imti(i, j) + " ");
  10.                         if (sodas.Imti(i, j) == '*' && i != x && j != y)
  11.                         {
  12.                             bool arYraTaskas = false;
  13.                             List<int> sublistas = new List<int>();
  14.                             for (int k = 0; k < tikrinamasTaskas.Count; k++)
  15.                             {
  16.                                 if (tikrinamasTaskas[k][0] == i && tikrinamasTaskas[k][1] == j)
  17.  
  18.                                     arYraTaskas = true;
  19.                             }
  20.                             if (!arYraTaskas)
  21.                             {
  22.                                 sublistas.Add(i);
  23.                                 sublistas.Add(j);
  24.                                 tikrinamasTaskas.Add(sublistas);
  25.                             }
  26.                         }
  27.                     }
  28.                 }
  29.             }
  30.             Console.WriteLine();
  31.         }
  32.         static void ArLangeliaiNuspalvinti(Plotai sodas, out int ilgiausiosDemesIlgis,out int k,out int kk)
  33.         {
  34.              ilgiausiosDemesIlgis = 0;
  35.              k = 0; kk = 0;
  36.             for (int i=0; i<sodas.nn; i++)    // eini per kiekvieną langelį; i - "ciklo kintamasis"
  37.             {
  38.                
  39.                 for(int j=0; j<sodas.mm; j++)
  40.                 {
  41.                      kk = j;
  42.                     List<List<int>> tikrinamiLangeliai = new List<List<int>>();
  43.                     List<int> sublist = new List<int>();
  44.                         // tikrinamiLangeliai - šiuo metu tikrinamų langelių sąrašas
  45.                     if (sodas.Imti(i, j) == '*')
  46.                     {
  47.                         sublist.Add(i);
  48.                         sublist.Add(j);
  49.  
  50.                         tikrinamiLangeliai.Add(sublist);
  51.                     }      // kad kai einam per visus langelius, bent tą langelį (jei jis nuspalvintas), ant kurio dabar "užėjom" patikrintų
  52.                         for (int jj=0; jj<tikrinamiLangeliai.Count; jj++)       // eiti per visus langelius, kuriuos reikės tikrint (pastabaa: tikrinant langelius, gali atsirasti dar naujų tikrinamiLangeliai, . ciklo kintamasis j
  53.                         {
  54.                             Patikrinti(sodas, tikrinamiLangeliai[jj][0], tikrinamiLangeliai[jj][1], ref tikrinamiLangeliai);
  55.         //                    Console.Write("s ");
  56.        
  57.                                 // Jeigu tikrinamasis langelis turėjo kokių langelių, kurie tiko, juos reikės pridėti prie tikrinamiLangeliai list'o (greičiausiai tai implementuoti geriausia Patikrinti methode (nebūtinai))
  58.                         }
  59.                     Console.WriteLine();
  60.                     Console.WriteLine("kazkas " + tikrinamiLangeliai.Count());
  61.                        if (tikrinamiLangeliai.Count > ilgiausiosDemesIlgis)
  62.                         {
  63.                             k = i;
  64.                             kk = j;
  65.                             ilgiausiosDemesIlgis = tikrinamiLangeliai.Count;
  66.                         }
  67.                         //Jei didžiausia dėmė: atsiminti dėmės ilgį, atsiminti visilangeliai[i] vietą (kadangi reikia bent vieną dėmės tašką išvesti)
  68.                     }
  69.              }
  70.         }
  71.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement