Изменения
Нет описания правки
== Код алгоритма ==
<code>
   // Чтение матриц   for i := 0 to n - 1      for j := 0 to n - 1 {         read(cur);         a[i][j] = cur;      }     // Чтение матриц   for i := 0 to n - 1      for j := 0 to n - 1 {         read(cur);         b[i][j] = cur;      }           
   // Предподсчёт скалярных произведений
   // Пусть precalc[i][j] - "скалярное произведение для битовых представлений" чисел i и j
   // "&" - битовый and; "<<" - битовый сдвиг влево.
   int k = ceil(log log2(n)); //округление вверх
   for i := 0 to (1 << k) - 1
      for j := 0 to (1 << k) - 1 {
         ans[i][j] = curans;
   }
    // Вывод ответа   for i := 0 to n - 1      for j := 0 to n - 1 {         write(ans[i][j]);      }      writeln();   }
</code>
