当前位置: 首页 > news >正文

公司网站维护费怎么做分录网络营销心得体会1000字

公司网站维护费怎么做分录,网络营销心得体会1000字,郑州最近新闻事件,网站建设流程有哪七步前几天遇到这样一道数学题: 用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种?当我看完题目后,顿时不知所措。于是我拿起草稿纸在一旁漫无目的地演算了一下,企图…

前几天遇到这样一道数学题:

用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种?

201684150232223.png?20167415311

当我看完题目后,顿时不知所措。于是我拿起草稿纸在一旁漫无目的地演算了一下,企图能找到解决方法。结果一无所获。于是打算通过程序算法解决这个问题。经过2个多小时的研究,终于完成了代码,并求得了答案。

由于Python写起来比较方便而且本人比较喜欢Python的语法,所以研究算法时我通常采用Python,此次也不例外。以下就是整个算法的实现过程。

两种算法

我一共想出了两种用于解决本题的算法:

算法一:将所有的涂色情况通过程序的循环计算出来,然后通过程序的条件判断去除掉不合题意的所有情况,最后得到最终结果。

算法二:从其中任意一个端点(p0)入手,由于其它所有端点都没有涂色,所以它可以涂四种颜色。将这四种颜色通过循环分别涂在这个端点上,每涂上一种颜色后,获取与它相临的一个端点(p1),并获取它可以涂上的颜色,然后通过循环将可用颜色涂上(及不能涂上与p0相同的颜色),每涂上一种颜色,又将p1相邻的未涂色的点涂色(及除p0外其他的相邻端点)。每个点被涂色后都采用同样的方法将相邻的点涂色,以此类推,涂完最后一个点,就记一次情况。所有的递归都完成后,就获得了所有情况。

算法一很直接很粗暴,所以我采用了算法二来解决上述问题。接下来就是具体的代码了。

算法实现

我写了大约90行Python代码来实现这个算法:

colorList = [0, 1, 2, 3]

pointList = []

amount = 0

class Point(object):

def __init__(self):

super(Point, self).__init__()

self.neibors = []

self.color = None

def paint(self, c):

self.color = c

def clean(self):

self.color = None

def getLeftOverColors(self):

copyOfColorList = colorList[0 : 4]

for neibor in self.neibors:

nc = neibor.color

if nc in copyOfColorList:

copyOfColorList.remove(nc)

return copyOfColorList

def main():

global pointList

p0 = Point()

p1 = Point()

p2 = Point()

p3 = Point()

p4 = Point()

p5 = Point()

p0.neibors = [p1, p2, p4]

p1.neibors = [p0, p2, p5]

p2.neibors = [p0, p1, p3]

p3.neibors = [p2, p4, p5]

p4.neibors = [p0, p3, p5]

p5.neibors = [p4, p3, p1]

pointList = [p0, p1, p2, p3, p4, p5]

paintPoint(p0)

print(amount)

def paintPoint(p):

global amount

colors = p.getLeftOverColors()

lastOne = isLastOne()

for c in colors:

p.paint(c)

if lastOne:

amount += 1

else:

for currentNeibor in p.neibors:

if currentNeibor.color == None:

paintPoint(currentNeibor)

break

p.clean()

def isLastOne():

global pointList

paintedNum = 0

for p in pointList:

if p.color != None:

paintedNum += 1

return paintedNum == 5

if __name__ == "__main__":

main()

以下是对各段代码的介绍。

全局变量

colorList:颜色列表

pointList:存放六个点的列表

amount : 涂色方案的种数

Point类

用于储存各个点的信息,如点的颜色(color属性,None代表无颜色)、相邻的点('neibors'属性)。以及提供paint方法用于将点标记颜色;clean方法用于去除颜色;getLeftOverColors方法用于获取可用颜色,及获取相邻点没有使用的颜色。

main函数

程序开始运行时调用的函数,其中构造了所需的六个点,以及分别为这六个点明确了相邻的三个点。注意,由于这里的点只有相邻和不相邻的位置关系,所以不需要在意这些点到底在三棱柱里对应哪个位置,任意设定这些点的位置对结果来说并没有影响,只需注意它们之间的相邻关系即可。

isLastOne函数

判断是不是最后一个未涂色的点。

paintPoint函数

用于对作为参数传入的点进行着色。其中首先通过调用该点的getLeftOverColors方法获取可用颜色,然后按照上文算法中介绍的,通过遍历可用颜色列表,为该点着色,如果该点不是最后一个点(通过isLastOne函数判断),就递归调用paintPoint函数为相邻的一个未着色的点着色,如果是,则将记下一次涂色方案。

运行代码,得到结果 - 264:

201684150621157.png?20167415631

Ok,于是这道题就在我们的计算机的帮助下,被成功解决掉了~如果大家有更好的方案解决这一算法问题,欢迎留言进行交流~希望本文对大家学习Python和计数原理都能有所帮助。

http://www.lbrq.cn/news/2715859.html

相关文章:

  • 企业网站建设尚未实现宣传功能seo工资
  • 利辛县城乡住房建设委员会网站每天新闻早知道
  • cms网站开发百度认证官网申请
  • wap类网站1小时快速搭建网站
  • 福建网站开发湖南关键词优化推荐
  • 网页制作策划路程seo优化排名怎么做
  • 做网站需要写代码怎么做好推广
  • 微信小程序怎么做网站上海网站推广系统
  • 企业起名网站怎么做制作网站的全过程
  • 北京做网站浩森宇特网店运营推广
  • 科技公司网站版面设计培训心得体会800字
  • 怎么做bbs网站cba赛程
  • 卡盟网站模板希爱力双效片用后感受
  • 中英文网站栏目修改台州专业关键词优化
  • 一般网站用什么技术做的百度app下载安装
  • 上海模板网站长沙网络推广只选智投未来
  • 3gb2c.com是什么网站个人网站设计内容
  • 网站关键字太多营销型网站建设的步骤流程是什么
  • 网站建设公司未来发展方向衡阳网站优化公司
  • 网站浏览历史能恢复吗怎么设置seo免费培训
  • 网站友情链接模块介绍服务营销包括哪些内容
  • 天津模板建站代理河源新闻最新消息
  • kingcms 暂未创建网站首页专业seo培训学校
  • 八年级信息网站怎么做线上营销推广公司
  • 美工需要的网站互联网营销方案
  • 东莞做网站电话免费职业技能培训网
  • 百度云服务器做php网站百度推广获客成本大概多少
  • 山东郓城住房和城乡建设厅网站中国seo高手排行榜
  • 学网站建设的专业叫什么互联网广告销售
  • 公司网站怎么做能被别人搜索到企业网站推广的一般策略
  • Linux入门指南:基础开发工具---yum/apt
  • 【Docker】安装kafka案例
  • 深入理解 RAG:检索增强生成技术详解
  • 力扣 外传之数据结构java篇
  • CVPR 2025 | 机器人操控 | RoboGround:用“掩码”中介表示,让机器人跨场景泛化更聪明
  • week1-[分支嵌套]公因数