8.23依图:三道编程题咋做啊

8.23依图:三道编程题咋做啊。。。。。重新排列字符,筛子累加和,坐地铁。。渣渣瑟瑟发抖。。。#依图科技##笔试题目#
全部评论
贴一下第二题求骰子和的我的解法,用动态规划做。但不知道为啥最后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) }
点赞 回复 分享
发布于 2019-08-23 21:13
a 1.8 是不是基本凉凉了
点赞 回复 分享
发布于 2019-08-23 21:14

相关推荐

牛客771574427号:恭喜你,华杰
点赞 评论 收藏
分享
勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务