马尔可夫矩阵程序
给定 amxn 二维矩阵,检查它是否是马尔可夫矩阵。
马尔可夫矩阵:每行之和等于 1 的矩阵。
例子:
Input :
1 0 0
0.5 0 0.5
0 0 1
Output : yes
Explanation :
Sum of each row results to 1,
therefore it is a Markov Matrix.
Input :
1 0 0
0 0 2
1 0 0
Output :
no
方法:初始化一个二维数组,然后取另一个一维数组来存储矩阵每一行的和,检查这个一维数组中存储的和是否都等于1,如果是则为马尔可夫矩阵,否则不是。
C++
// C++ code to check Markov Matrix
#include
using namespace std;
#define n 3
bool checkMarkov(double m[][n])
{
// outer loop to access rows
// and inner to access columns
for (int i = 0; i
Java
// Java code to check Markov Matrix
import java.io.*;
public class markov
{
static boolean checkMarkov(double m[][])
{
// outer loop to access rows
// and inner to access columns
for (int i = 0; i < m.length; i++) {
// Find sum of current row
double sum = 0;
for (int j = 0; j < m[i].length; j++)
sum = sum + m[i][j];
if (sum != 1)
return false;
}
return true;
}
public static void main(String args[])
{
// Matrix to check
double m[][] = { { 0, 0, 1 },
{ 0.5, 0, 0.5 },
{ 1, 0, 0 } };
// calls the function check()
if (checkMarkov(m))
System.out.println(" yes ");
else
System.out.println(" no ");
}
}
Python3
# Python 3 code to check Markov Matrix
def checkMarkov(m) :
# Outer loop to access rows
# and inner to access columns
for i in range(0, len(m)) :
# Find sum of current row
sm = 0
for j in range(0, len(m[i])) :
sm = sm + m[i][j]
if (sm != 1) :
return False
return True
# Matrix to check
m = [ [ 0, 0, 1 ],
[ 0.5, 0, 0.5 ],
[ 1, 0, 0 ] ]
# Calls the function check()
if (checkMarkov(m)) :
print(" yes ")
else :
print(" no ")
# This code is contributed by Nikita Tiwari.
C#
// C# code to check
// Markov Matrix
using System;
class GFG
{
static bool checkMarkov(double [,]m)
{
// outer loop to access
// rows and inner to
// access columns
for (int i = 0;
i < m.GetLength(0); i++)
{
// Find sum of
// current row
double sum = 0;
for (int j = 0;
j < m.GetLength(1); j++)
sum = sum + m[i, j];
if (sum != 1)
return false;
}
return true;
}
// Driver Code
static void Main()
{
// Matrix to check
double [,]m = new double[,]{{ 0, 0, 1},
{0.5, 0, 0.5},
{1, 0, 0}};
// calls the
// function check()
if (checkMarkov(m))
Console.WriteLine(" yes ");
else
Console.WriteLine(" no ");
}
}
// This code is contributed by
// Manish Shaw(manishshaw1)
PHP
Javascript
输出 :
yes