题解 | #放苹果#
放苹果
https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf
package main
import (
"fmt"
)
func main() {
var m , n int
fmt.Scan(&m, &n)
// 约定 后面的不能够比前面的小
// dfs 搜索即可
ans := 0
// path := make([]int, 0)
var dfs func(level int , preLevel int , all int )
dfs = func(level int , preLevel int , all int){
if level == n - 1 && m - all >= preLevel{
// path = append(path, m - all)
// fmt.Println(path)
ans ++
return
}
for i := preLevel ; i <= m - all ; i ++{
if i + all <= m {
// path = append(path , i)
dfs(level + 1 , i , i + all)
// path = path[:len(path)-1]
}
}
}
dfs(0 , 0, 0)
fmt.Println(ans)
}
顺丰集团工作强度 396人发布
查看9道真题和解析
