关注
贴一下第二题求骰子和的我的解法,用动态规划做。但不知道为啥最后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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的OC时间线 #
448494次浏览 4007人参与
# 签约有哪些注意事项 #
22020次浏览 204人参与
# Keep实习校招 #
33048次浏览 236人参与
# 牛友故事会 #
595396次浏览 12499人参与
# 生化环材还是天坑吗 #
25647次浏览 261人参与
# 想给25届机械人的秋招建议 #
25038次浏览 213人参与
# 平安产险科技中心求职汇总 #
243740次浏览 2611人参与
# 我心目中的理想工作是这样的 #
56474次浏览 784人参与
# 机械专业只有考研才有出路吗 #
90864次浏览 846人参与
# 大城市找工作会更容易吗 #
8019次浏览 42人参与
# 创作灵感 #
96103次浏览 1474人参与
# 机械制造岗投递时间线 #
21133次浏览 335人参与
# 总结:哪家公司面试体验感最差 #
41635次浏览 214人参与
# 材料专业哪个方向更好找工作? #
17042次浏览 81人参与
# 工作中的卑微时刻 #
7838次浏览 50人参与
# 金山WPS工作体验 #
13339次浏览 97人参与
# 找工作时的取与舍 #
54709次浏览 384人参与
# 你知道哪些职场黑话? #
30272次浏览 248人参与
# 地方国企笔面经互助 #
22187次浏览 43人参与
# 追觅科技求职进展汇总 #
13321次浏览 92人参与
# Offer比较,你最看重什么? #
152571次浏览 1067人参与
# 你的头发还好吗?一起爆改美发黑科技! #
75563次浏览 1111人参与