Pessoal, por gentileza, estou travado na construção de um projeto que consiste em contar a quantidade de caminhos, após receber um valor inteiro, entre os vértices de um grafo.
Por exemplo - Se fizer meu grafo da seguinte maneira: {{0,1,1,0,1}, {1,0,0,1,1},{1,0,0,0,0},{0,1,0,0,0},{11000} }
A matriz de Adjacência tamanho 2 desse grafo me resultaria [31011,13101,01101,10011,11112].
`
int[][] a;
int[][] at;
int[][] res;
public void criarTransposta(int[][] a, int[][] at) {
for (int linha = 0; linha < a.length; linha++) {
for (int coluna = 0; coluna < a.length; coluna++) {
at[coluna][linha] = a[linha][coluna];
}
}
}
public int calcularProdutoEscalar(int[] a, int[] b) {
int soma = 0;
for (int i = 0; i < a.length; i++) {
soma += a[i] * b[i];
}
return soma;
}
public void calcularProdutoMatrizes(int[][] a, int[][] at, int[][] res) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
res[i][j] = calcularProdutoEscalar(a[i], at[j]);
}
}
}
`
Imagem do sistema.

Algúem pode me dizer de que maneira eu passo uma matriz de adjacência no campo de Entrada, o valor do tamanho do caminho e a saída?
Valeu pessoal.