Untitled


SUBMITTED BY: Guest

DATE: Nov. 2, 2014, 7:28 p.m.

FORMAT: Java

SIZE: 2.2 kB

HITS: 1022

  1. public class Matrix
  2. {
  3. private int[][] arr;
  4. private int n;
  5. public Matrix(int n)
  6. {
  7. this.n = n;
  8. this.arr = new int[n][n];
  9. }
  10. public Matrix(int[][] arr)
  11. {
  12. this.arr = arr;
  13. this.n = arr.length;
  14. }
  15. public Matrix assign(Matrix a)
  16. {
  17. Matrix b = new Matrix(a.getN());
  18. for (int i = 0; i<n; i++)
  19. {
  20. for (int j = 0; j<n; j++)
  21. {
  22. b.arr[i][j] = a.arr[i][j];
  23. }
  24. }
  25. return b;
  26. }
  27. public Matrix plus(Matrix b)
  28. {
  29. Matrix a = this;
  30. Matrix c = new Matrix(a.getN());
  31. for (int i = 0; i < a.getN(); i++)
  32. {
  33. for (int j = 0; j < a.getN(); j++)
  34. {
  35. if ((a.arr[i][j] == 1) || (b.arr[i][j] == 1))
  36. c.arr[i][j] = 1;
  37. else
  38. c.arr[i][j] = 0;
  39. //c.arr[i][j] = a.arr[i][j] + b.arr[i][j];
  40. }
  41. }
  42. return c;
  43. }
  44. public Matrix mul(Matrix a, Matrix b)
  45. {
  46. Matrix c = new Matrix(a.getN());
  47. for (int i = 0; i < a.getN(); i++)
  48. {
  49. for (int j = 0; j < a.getN(); j++)
  50. {
  51. for (int k = 0; k < a.getN(); k++)
  52. {
  53. c.arr[i][j] = (a.arr[i][k] * b.arr[k][j]);
  54. }
  55. }
  56. }
  57. return c;
  58. }
  59. public Matrix path(Matrix a)
  60. {
  61. Matrix p = this;
  62. Matrix temp, mat;
  63. temp = new Matrix(a.getN());
  64. mat = new Matrix(a.getN());
  65. temp.assign(a);
  66. p.assign(a);
  67. for (int i = 0; i<a.getN()-1; i++)
  68. {
  69. mat.mul(temp, a);
  70. p.plus(mat);
  71. mat.assign(temp);
  72. }
  73. return p;
  74. }
  75. public int[][] getArr() {
  76. return arr;
  77. }
  78. public void setArr(int[][] arr) {
  79. this.arr = arr;
  80. }
  81. public int getN() {
  82. return n;
  83. }
  84. public void setN(int n) {
  85. this.n = n;
  86. }
  87. }

comments powered by Disqus