Exemple #1
0
 /// <summary>
 /// Замена по L-цепочке
 /// </summary>
 /// <param name="chain"></param>
 public void replaceInChain(LChain chain)
 {
     for (int k = 0; k < chain.N; k++)
     {
         int i = -1, j = -1;
         chain.get(k, out i, out j);
         if (_c[i][j]._mark == '*')
         {
             _c[i][j]._mark = ' ';
             K--;
         }
         else
         {
             _c[i][j]._mark = '*';
             K++;
         }
     }
 }
Exemple #2
0
 private LChain buildLChain(VengerMatrix c, int i, int j)
 {
     LChain chain = new LChain(c.N * c.N);
     chain.add(i, j);
     while ((i = c.hasMarkedElementInColumn(j, '*')) != -1)
     {
         chain.add(i, j);
         j = c.hasMarkedElementInRow(i, '\'');
         chain.add(i, j);
     }
     return chain;
 }