关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
173292次浏览 2927人参与
# 找工作,行业重要还是岗位重要? #
85399次浏览 1693人参与
# 职场上哪些行为很加分? #
307061次浏览 3455人参与
# 大家每天通勤多久? #
69911次浏览 445人参与
# 实习的内耗时刻 #
211293次浏览 1542人参与
# 你面试体验感最差/最好的公司 #
18072次浏览 299人参与
# 一人说一个提前实习的好处 #
10987次浏览 206人参与
# 今年你最想重开的一场面试是? #
4211次浏览 70人参与
# 秋招落幕,你是He or Be #
12541次浏览 245人参与
# 互联网行业现在还值得去吗 #
46931次浏览 351人参与
# 实习没事做是福还是祸? #
16980次浏览 258人参与
# 面试吐槽bot #
165028次浏览 814人参与
# 重来一次,你会对开始求职的自己说 #
6175次浏览 155人参与
# 反问环节如何提问 #
126392次浏览 2664人参与
# 礼物开箱Plog #
703次浏览 24人参与
# 工作中听到最受打击的一句话 #
6779次浏览 117人参与
# 团建是“福利”还是是 “渡劫” #
7289次浏览 150人参与
# 我的第一份实习怎么找的 #
208596次浏览 1827人参与
# 比亚迪工作体验 #
74766次浏览 281人参与
# 大家实习每天都在干啥 #
106557次浏览 581人参与
