Участник:Rublev.mv/knight-dialer

Материал из DISCOPAL
Перейти к: навигация, поиск
 
class Solution {
 public int knightDialer(int n) {
     int res=0;
     int sum_vect=0;
     int[][] hodi = { {1}, {0, 2}, {0, 1, 3, 4}, {2, 4}, { 0 } };
     int[] vect = { 1, 1, 1, 1, 1 };
  while ((n-2) > 0) {
    int[] vect1 = { 0, 0, 0, 0, 0 };
    for (int i = 0; i < 5; ++i) {
      for (int j : hodi[i])
        vect1[j] = (vect1[j] + vect[i]) % 1000000007;
    }
    vect = vect1;
  }
     sum_vect=vect[0] + vect[1] + vect[2] + vect[3] + vect[4];
     res=(int)(sum_vect % 1000000007);
   return res;
 }
}
 


Knight-dialer 2020-12-16 18-25-48 image0.png