Sebuah matriks stokastik adalah matriks probabilitas digunakan dalam konteks rantai Markov.
Sebuah kanan matriks stokastik adalah matriks di mana setiap baris jumlah untuk 1.
Sebuah meninggalkan matriks stokastik adalah matriks di mana setiap kolom jumlah untuk 1.
Sebuah ganda matriks stokastik adalah matriks di mana setiap baris dan setiap kolom jumlah untuk 1.
Dalam tantangan ini, kami akan mewakili probabilitas dalam persen menggunakan bilangan bulat . Baris atau kolom harus dalam hal ini jumlah 100dan bukan 1.
Tujuan Anda adalah untuk menulis sebuah program atau fungsi yang, diberi matriks persegi bilangan bulat sebagai input, menampilkan salah satu dari empat nilai yang menunjukkan bahwa matriks tersebut adalah stokastik kanan, stokastik kiri, stokastik berlipat ganda atau tidak ada satupun.
Memasukkan
Anda dapat menggunakan representasi matriks yang wajar untuk bahasa Anda sebagai input. Misalnya, daftar daftar, serangkaian nilai yang dipisahkan koma dengan baris yang dipisahkan oleh linebreak, dll.
Matriks input akan selalu berbentuk bujur sangkar dan hanya akan berisi bilangan bulat non-negatif. Matriks input akan selalu setidaknya 1×1.
Anda dapat meneruskan input menggunakan STDIN, sebagai argumen fungsi, atau yang serupa.
Keluaran
Anda harus memilih empat output berbeda yang sesuai dengan stokastik kanan , stokastik kiri , stokastik ganda atau tidak sama sekali . Keluaran tersebut harus konstan terlepas dari input apa yang dilewatkan. Program Anda mungkin tidak mengembalikan output yang berbeda untuk kasus yang sama, misalnya mengatakan bahwa angka negatif yang sesuai dengan tidak ada yang tidak valid.
Singkatnya, harus ada korespondensi 1-ke-1 antara output Anda dan empat kasus yang mungkin. Beberapa contoh dari keempat keluaran itu adalah {1, 2, 3, 4}atau {[1,0], [0,1], [1,1], [0,0]}atau bahkan {right, left, doubly, none}.
Harap tunjukkan dalam jawaban Anda empat keluaran yang digunakan program Anda.
Jika matriks stochastic ganda, maka Anda harus mengembalikan output yang sesuai dengan stochastic ganda, dan bukan stochastic kanan atau kiri.
Anda dapat mencetak hasilnya STDOUT, mengembalikannya dari fungsi, atau yang serupa.
Uji kasus
[100] => Doubly stochastic
[42] => None of those
[100 0 ] => Doubly stochastic
[0 100]
[4 8 15]
[16 23 42] => Left stochastic
[80 69 43]
[99 1 ] => Right stochastic
[2 98]
[1 2 3 4 ]
[5 6 7 8 ] => None of those
[9 10 11 12]
[13 14 15 16]
Mencetak gol
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.