关注
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
相关推荐

点赞 评论 收藏
分享
05-11 12:05
中国矿业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届校招投递进展 #
29229次浏览 228人参与
# 小米提前批笔试难吗 #
33882次浏览 356人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
10350次浏览 114人参与
# 为了找工作你花了哪些钱? #
27358次浏览 261人参与
# 央国企投递记录 #
87907次浏览 1359人参与
# 神州信息工作体验 #
11506次浏览 56人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61274次浏览 490人参与
# 来聊聊你目前的求职进展 #
634144次浏览 6745人参与
# 你今年的保底offer是哪家 #
118269次浏览 537人参与
# 烟草笔面经互助 #
16854次浏览 180人参与
# 大疆的机械笔试比去年难吗 #
72853次浏览 618人参与
# 打工人的精神状态 #
49403次浏览 858人参与
# 外包能不能当跳板? #
34293次浏览 218人参与
# 牛友们,签完三方你在忙什么? #
98173次浏览 852人参与
# 如何缓解入职前的焦虑 #
192293次浏览 1339人参与
# 你秋招想去哪些公司 #
21896次浏览 804人参与
# 担心入职之后被发现很菜怎么办 #
130710次浏览 775人参与
# 你觉得比亚迪今年还有春招吗? #
191177次浏览 1050人参与
# 秋招结束之后的日子 #
75164次浏览 910人参与
# 校招第一份工作你干了多久? #
85513次浏览 390人参与
# kpi面有什么特征 #
52389次浏览 403人参与