nОбратний перегляд таблиць r n raquo ;;
//Зворотний перегляд на 6 кроці -;
text +=minTime (step, tab6, ref answer, ref t); step -; (temp61, temp62, p, t, ref s); [step]=tab5 [s, 1]; -;=tab5 [s, 0];=tab5 [s, 2]; (temp51, temp52 , p, t, ref s); [step]=tab4 [s, 1]; -;=tab4 [s, 0];=tab4 [s, 2]; (temp41, temp42, p, t, ref s) ; [step]=tab3 [s, 1]; -;=tab3 [s, 0];=tab3 [s, 2]; (temp31, temp32, p, t, ref s); [step]=tab2 [s , 1]; -;=tab2 [s, 0];=tab2 [s, 2]; (temp21, temp22, p, t, ref s); [step]=tab1 [s, 1]; +=printAnswer ( answer);=printAnswer (answer);=true;
} (! ans)
{+= r nОбратний перегляд таблиць r n raquo ;;
//Зворотний перегляд на 5 кроці -;
text +=minTime (step, tab5, ref answer, ref t); step -; (temp51, temp52, p, t, ref s); [step]=tab4 [s, 1]; -;=tab4 [s, 0];=tab4 [s, 2]; (temp41, temp42 , p, t, ref s); [step]=tab3 [s, 1]; -;=tab3 [s, 0];=tab3 [s, 2]; (temp31, temp32, p, t, ref s) ; [step]=tab2 [s, 1]; -;=tab2 [s, 0];=tab2 [s, 2]; (temp21, temp22, p, t, ref s); [step]=tab1 [s , 1]; +=printAnswer (answer);=printAnswer (answer);=true;
}
} (! ans)
{+= r nОбратний перегляд таблиць r n raquo ;;
//Зворотний перегляд на 4 кроці -;
text +=minTime (step, tab4, ref answer, ref t); step -; (temp41, temp42, p, t, ref s); [step]=tab3 [s, 1]; -;=tab3 [s, 0];=tab3 [s, 2]; (temp31, temp32 , p, t, ref s); [step]=tab2 [s, 1]; -;=tab2 [s, 0];=tab2 [s, 2]; (temp21, temp22, p, t, ref s) ; [step]=tab1 [s, 1]; +=printAnswer (answer);=printAnswer (answer);=true;
}
} (! ans)
{+= r nОбратний перегляд таблиць r n raquo ;;
//Зворотний перегляд на 3 кроці -;
text +=minTime (step, tab3, ref answer, ref t); step -; (temp31, temp32, p, t, ref s); [step]=tab2 [s, 1]; -;=tab2 [s, 0];=tab2 [s, 2]; (temp21, temp22 , p, t, ref s); [step]=tab1 [s, 1]; +=printAnswer (answer);=printAnswer (answer);=true;
}
} (! ans)
{+= r nОбратний перегляд таблиць r n raquo ;;
//Зворотний перегляд на 2 кроці -;
text +=minTime (step, tab2, ref answer, ref t); step -; (temp21, temp22, p, t, ref s); [step]=tab2 [s, 1]; +=printAnswer (answer);=printAnswer (answer);=true;
}
} sw=new StreamWriter ( new. txt ) ;. WriteLine (text) ;. Close () ;. Text +=answ ;. Enabled=true;
}
//Функція для виведення двовимірного массіваstring print (int [,] mas)
{i=0, j=0; sol= raquo ;; x=mas. GetLength (0), y=mas. GetLength (1); += r n raquo ;; (i=0; i lt; x; i ++)
{(j=0; j lt; y; j ++)
{+=mas [i, j] + raquo ;;
} += r n raquo ;;
} sol;
}
//функція для заповнення матриці, відповідної значенням в нижній частині клітини
public string niz (ref int [,] temp1, int [,] a, int [,] tab)
{text= r nМатріца, відповідна значенням в нижній частині клітини r n raquo ;;
for (int i=0; i lt; temp1. GetLength (0); i ++) (int j=0; j lt; temp1. GetLength (1); j ++)
{[i, j]=a [i, 0] + tab [j, 0]; (temp1 [i, j] gt; N) temp1 [i, j]=- 1;
} +=print (temp1); text;
}
//функція для заповнення матриці, відповідної значенням у верхній частині клітини
public string verh (int [,] temp1, ref int [,] temp2, int [,] a, int [] difMas, int step)
{text= r nМатріца, відповідна значенням у верхній частині клітини r n raquo ;;
for (int i=0; i lt; temp1. GetLength (0); i ++) (int j=0; j lt; temp1. GetLength (1); j ++)
{(temp1 [i, j]!=- 1) [i, j]=max (a [i, step], difMas [j]); temp2 [i, j]=-1;
} +=print (temp2); text;
}
//Функція знаходження максимального елемента з двох
public int max (int a, int b)
{(b gt; a) return b;
else return a;
}
//Функція знаходження мінімального елемента з двох (0 не враховується)
public int min (int a, int b)
{((a gt; 0) amp; (b lt; a)) return b;