关注
贴一下第二题求骰子和的我的解法,用动态规划做。但不知道为啥最后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
相关推荐
06-13 10:15
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
13733次浏览 186人参与
# 面试官是我前女友 #
106890次浏览 731人参与
# 实习生的蛐蛐区 #
39797次浏览 329人参与
# 当你面对裁员会如何? #
275921次浏览 2438人参与
# 计算机有哪些岗位值得去? #
12816次浏览 133人参与
# lastday知无不言 #
56850次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14421次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14002次浏览 97人参与
# 说说你知道的学历厂 #
28110次浏览 178人参与
# 你找工作的时候用AI吗? #
14783次浏览 192人参与
# 下班后的时间你怎么安排 #
7395次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7212次浏览 166人参与
# 携程求职进展汇总 #
559402次浏览 4258人参与
# 面试尴尬现场 #
23619次浏览 163人参与
# 工作后会跟朋友渐行渐远吗 #
30031次浏览 216人参与
# 中核求职进展汇总 #
20127次浏览 152人参与
# 社会教会你的第一课 #
29184次浏览 394人参与
# 多益网络工作体验 #
49626次浏览 280人参与
# 虾皮求职进展汇总 #
244159次浏览 1797人参与
# 神州信息工作体验 #
15996次浏览 75人参与