美文网首页
1、植树

1、植树

作者: 你好宝宝 | 来源:发表于2020-03-08 17:49 被阅读0次
题目描述

小多想在美化一下自己的庄园。他的庄园毗邻一条小河,他希望在河边种一排树,共 M 棵。小多采购了 N 个品种的树,每个品种的数量是 Ai (树的总数量恰好为 M)。但是他希望任意两棵相邻的树不是同一品种的。小多请你帮忙设计一种满足要求的种树方案。

代码

import numpy as np 
import sys   
sys.setrecursionlimit(100000)  #!!!设置递归深度,递归算法最好每次都加这样的设置,不然牛客上会报错
def dfs(trees, result, remain_num, prev):
    for i in range(len(trees)):

        if 2*trees[i] > remain_num+1: #解方程得出
            return False

        if trees[i] > 0 and i != prev: 
            result.append(i+1)
            trees[i] -= 1
            remain_num -= 1

            if dfs(trees, result, remain_num, i): 
                return True
            else:
                del result[-1]
                trees[i] += 1
                remain_num += 1
    
    return True

tree_kinds=int(input())
trees=[int(num) for num in input().split(" ")]
result=[]
m=sum(trees)
if(dfs(trees,result,m,-1)):
  for ele in result:
    print(ele,end=" ")
else:
  print("-")

方程

x为当前树苗的的剩余数目,n为其他树苗的剩余数目,m为还剩树苗和。这些变量之间满足如下方程:
n+x=m
x \le n+1
解得:
2x \le m+1

相关文章

  • 1、植树

    题目描述 小多想在美化一下自己的庄园。他的庄园毗邻一条小河,他希望在河边种一排树,共 M 棵。小多采购了 N 个品...

  • 你需要了解的“互联网+义务植树”

    春天是植树增绿的大好时节 “互联网+义务植树”的由来 为了满足群众的绿化需求,提高公民义务植树尽责率,2017年1...

  • 来一杯绿色的鸡尾酒@植树节

    植树节相信大家都不陌生, 植树节节徽的寓意你知道吗? 1.树形,表示全民义务植树3至5棵,人人动手,绿化祖国大地。...

  • 你有多久没植树了?

    3月12日植树节又快来了,你有多久没有植树了? 蚂蚁森林也算。 今天和大家分享两个植树节的小故事。 1 高中的时候...

  • 绿水青山就是金山银山

    今天是3月12日植树节。 植树的传统更是源远流长,在古代的清明时节,插柳植树就成为人们的民俗传统。而到了近代,在1...

  • 欢乐的植树节

    3月12 日是我们国家的植树节。为此,我在班级布置了关于植树节的活动:1、了解植树节的来历和意义,以班为单位,围绕...

  • 主题:植树

    目录 二年级下期作文评价标准 植树(马馨悦) 植树(王阳) 植树(兰宇航) 植树(周智勋) 难忘的植树节(许秩萁)...

  • 志愿服务浓情奉献植树节

    华南区:李传风 报道 今天是植树节,又可分植树日、植树周、植树月,共称为国际植树节。其目的是在于激发人们...

  • 测试 V2

    3.12日,植树节,植树活动

  • 植树节

    小朋友们知道今天是什么节日吗?今天就是植树节,植树节定于每年的3月12日,植树节又叫国际植树节、植树日、...

网友评论

      本文标题:1、植树

      本文链接:https://www.haomeiwen.com/subject/xacjdhtx.html