关注
贴一下第二题求骰子和的我的解法,用动态规划做。但不知道为啥最后case通过率是98%, 可能哪里没考虑到
package main
import (
"fmt"
)
func main() {
n:=0
k:=0
fmt.Scan(&n,&k)
if (n==0 || k==0){
fmt.Println(0)
return
}
arr := make([][14][6]int, k+1) // 用了前0-n个骰子, 最后一个骰子的某个数朝上,用动态规划的思想
data := make([][6]int, n) //
for i:=0; i<n; i++{
fmt.Scanln(&data[i][0], &data[i][1], &data[i][2], &data[i][3], &data[i][4], &data[i][5])
// fmt.Println(data[i][0], data[i][1], data[i][2], data[i][3], data[i][4], data[i][5])
}
for i:=1; i<=k; i++{
for x:=0; x<6; x++ {
if data[0][x] == i {
arr[data[0][x]][0][x] = 1
// fmt.Println(arr[data[0][x]][0][x])
}
}
for j:=1; j<n; j++{
for m:=0; m<6; m++ {
if data[j][m] >= i {
arr[i][j][m] = 0
}
}
}
}
for i:=1; i<=k; i++ {
for j:=1; j<n; j++ {
for p:=0; p<6; p++ {
for q:=0; q<6; q++{
if i>=data[j][p] {
arr[i][j][p] += arr[i-data[j][p]][j-1][q]
}
}
}
}
}
sum := 0
for i:=0; i<6; i++ {
sum += arr[k][n-1][i]
}
fmt.Println(sum)
}
查看原帖
点赞 1
相关推荐
10-18 21:51
西安电子科技大学 C++ 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
331809次浏览 3135人参与
# 上班苦还是上学苦呢? #
73616次浏览 656人参与
# 百度开奖 #
186039次浏览 1166人参与
# 地方国企笔面经互助 #
4577次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
22076次浏览 416人参与
# 选完offer后,你后悔学本专业吗 #
22084次浏览 159人参与
# 阿里云管培生offer #
37345次浏览 424人参与
# 我的实习求职记录 #
6073109次浏览 83555人参与
# 如何一边实习一边秋招 #
997350次浏览 12669人参与
# 找工作时遇到的神仙HR #
553810次浏览 3803人参与
# 入职第一天,你准备什么时候下班 #
21681次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10829次浏览 277人参与
# bilibili求职进展汇总 #
33359次浏览 357人参与
# 许愿池 #
214956次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54125次浏览 424人参与
# 你今年的平均薪资是多少? #
71108次浏览 345人参与
# 实习工作,你找得还顺利吗? #
248059次浏览 2913人参与
# 通信硬件薪资爆料 #
609841次浏览 5198人参与
# 海康威视求职进展汇总 #
400984次浏览 3408人参与
# 携程求职进展汇总 #
135951次浏览 932人参与
# 正在实习的你,几点下班 #
53460次浏览 396人参与
# 工作两年想退休了 #
53156次浏览 673人参与