关注
import java.text.DecimalFormat;
import java.util.*;
public class Main {
public static double max(double[] array) {
double result = Double.MIN_VALUE;
for(int i = 0; i < array.length; i++) {
if(array[i] > result) {
result = array[i];
}
}
return result;
}
public static int argmax(double[] array) {
int result = 0;
double maxValue = Double.MIN_VALUE;
for(int i = 0; i < array.length; i++) {
if(array[i] > maxValue) {
maxValue = array[i];
result = i;
}
}
return result;
}
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
double[] pi = new double[4];
double[][] A = new double[4][4];
double[][] B = new double[4][5];
double prob = 0.0;
for(int i = 0; i < 4; i++)
pi[i] = in.nextDouble();
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++)
A[i][j] = in.nextDouble();
}
for(int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++)
B[i][j] = in.nextDouble();
}
String a = in.next();
String line = in.nextLine();
line = a + line;
String[] o = line.split(" ");
int[] observe = new int[o.length];
for(int i = 0; i < o.length; i++) {
if(o[i].equals("S"))
observe[i] = 0;
else if(o[i].equals("A"))
observe[i] = 1;
else if(o[i].equals("B"))
observe[i] = 2;
else if(o[i].equals("C"))
observe[i] = 3;
else
observe[i] = 4;
}
double[][] x = new double[observe.length][4];
int T = observe.length;
for(int i = 0; i < 4; i++) {
x[0][i] = pi[i] * B[i][observe[0]];
}
for(int t = 1; t < T; t++) {
for(int i = 0; i < 4; i++) {
double tmp = 0.0;
for(int j = 0; j < 4; j++) {
tmp += x[t - 1][j] * A[j][i];
}
x[t][i] = tmp * B[i][observe[t]];
}
}
prob = x[T - 1][0] + x[T - 1][1] + x[T - 1][2] + x[T - 1][3];
DecimalFormat df = new DecimalFormat("#.0000");
System.out.println(df.format(Math.log10(prob)));
}
}
} 一开始没看清题,写成了Viterbi,浪费了半个多小时,吐血
查看原帖
点赞 4
相关推荐
10-18 13:02
西安理工大学 C++ 点赞 评论 收藏
分享
牛客热帖
正在热议
# 拼多多求职进展汇总 #
232605次浏览 2029人参与
# 在职场上,你最讨厌什么样的同事 #
5673次浏览 81人参与
# 阿里云管培生offer #
58492次浏览 1746人参与
# 25届秋招总结 #
394905次浏览 3962人参与
# 哪些公司校招卡第一学历 #
32717次浏览 105人参与
# 地方国企笔面经互助 #
6490次浏览 16人参与
# 北方华创开奖 #
65865次浏览 547人参与
# ai智能作图 #
20813次浏览 258人参与
# 硬件兄弟们 甩出你的华为奖状 #
77872次浏览 625人参与
# 实习,投递多份简历没人回复怎么办 #
2435016次浏览 34700人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
4698次浏览 47人参与
# 实习与准备秋招该如何平衡 #
722482次浏览 8551人参与
# 我的实习求职记录 #
6119300次浏览 83944人参与
# 如果再来一次,你还会选择这个工作吗? #
109811次浏览 1104人参与
# 25届机械人为了秋招做了哪些准备? #
24928次浏览 355人参与
# 签了三方后想毁约怎么办 #
18532次浏览 111人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
9890次浏览 210人参与
# 机械求职避坑tips #
22098次浏览 240人参与
# 游戏求职进展汇总 #
52654次浏览 344人参与
# 夸夸我的求职搭子 #
131971次浏览 1360人参与
# 腾讯求职进展汇总 #
207360次浏览 1694人参与
# 实习想申请秋招offer,能不能argue薪资 #
35741次浏览 308人参与