热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

非单位时间任务安排Python

MAX1000deftakeSecond(elem):returnelem[1]defArrange(n,work):#按照每个任务的截止时间升序排列work.sort(key

题目介绍在这里插入图片描述

MAX=1000
def takeSecond(elem):return elem[1]
def Arrange(n,work):#按照每个任务的截止时间升序排列work.sort(key&#61;takeSecond)print("排序后&#xff1a;")for i in range(1,n&#43;1):print(work[i])deadline&#61;work[n][1]#最大截止时间#punished[i][j]为当截止时间为j时前i个任务的最小惩罚punish&#61;[[MAX]*(deadline&#43;1) for i in range(n&#43;1)]#初始化只有一个任务时for j in range(deadline&#43;1):#j表示整体的截止时间#若第一个任务的执行时间大于整体的截止时间则执行,最小惩罚置为0if work[1][0]<&#61; j:punish[1][j] &#61; 0#若第一个任务的执行时间小于整体的截止时间则执行,最小惩罚置为第一个任务的误时惩罚else:punish[1][j] &#61; work[1][2]if punish[1][deadline]&#61;&#61;0:count&#61;1#count表示执行的文件个数&#xff0c;若第一个文件执行了则为1for i in range(2,n&#43;1):for j in range(deadline&#43;1):#第i个任务不执行punish[i][j] &#61; punish[i-1][j] &#43; work[i][2]#time为第i个任务截止的最后时间time&#61;min(j,work[i][1])#若第i个任务可执行,且执行比不执行的最小惩罚小if(time >&#61; work[i][0] and punish[i][j]>punish[i-1][time-work[i][0]]):punish[i][j] &#61; punish[i-1][time-work[i][0]]#当截止时间为最大截止时间时,若第i个文件执行了则count加1if j&#61;&#61;deadline:count&#43;&#61;1print("任务安排表&#xff1a;")for i in range(1,n&#43;1):print(punish[i])return punish[n][deadline],count#从文件中读出数据
file_readpath &#61; &#39;input.txt&#39;
with open(file_readpath) as file:txt &#61; file.read()
txt&#61;txt.split(&#39;\n&#39;)
n&#61;eval(txt[0])
work&#61;[[0,0,0]]
for t in txt[1:]:t&#61;t.split()work.append([eval(t[0]),eval(t[1]),eval(t[2])])
punish,count&#61;Arrange(n,work)
print("最小惩罚为",punish)
print("执行文件个数为",count)#将结果存入文件output.txt
file_writepath &#61; &#39;output.txt&#39;
file&#61;open(file_writepath,"w")
file.write(str(punish)&#43;&#39;\n&#39;&#43;str(count))
file.close()

在这里插入图片描述运行结果&#xff1a;
在这里插入图片描述


推荐阅读
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文介绍了如何使用Python的Paramiko库批量更新多台服务器的登录密码。通过示例代码展示了具体实现方法,确保了操作的高效性和安全性。Paramiko库提供了强大的SSH2协议支持,使得远程服务器管理变得更加便捷。此外,文章还详细说明了代码的各个部分,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • Python 序列图分割与可视化编程入门教程
    本文介绍了如何使用 Python 进行序列图的快速分割与可视化。通过一个实际案例,详细展示了从需求分析到代码实现的全过程。具体包括如何读取序列图数据、应用分割算法以及利用可视化库生成直观的图表,帮助非编程背景的用户也能轻松上手。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 本文介绍了如何利用 `matplotlib` 库中的 `FuncAnimation` 类将 Python 中的动态图像保存为视频文件。通过详细解释 `FuncAnimation` 类的参数和方法,文章提供了多种实用技巧,帮助用户高效地生成高质量的动态图像视频。此外,还探讨了不同视频编码器的选择及其对输出文件质量的影响,为读者提供了全面的技术指导。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 本文详细介绍了在MySQL中如何高效利用EXPLAIN命令进行查询优化。通过实例解析和步骤说明,文章旨在帮助读者深入理解EXPLAIN命令的工作原理及其在性能调优中的应用,内容通俗易懂且结构清晰,适合各水平的数据库管理员和技术人员参考学习。 ... [详细]
  • Python编程中条件控制下的循环终止机制详解 ... [详细]
  • 通过使用 `pandas` 库中的 `scatter_matrix` 函数,可以有效地绘制出多个特征之间的两两关系。该函数不仅能够生成散点图矩阵,还能通过参数如 `frame`、`alpha`、`c`、`figsize` 和 `ax` 等进行自定义设置,以满足不同的可视化需求。此外,`diagonal` 参数允许用户选择对角线上的图表类型,例如直方图或密度图,从而提供更多的数据洞察。 ... [详细]
  • Python 开发笔记:深入探讨字符串及其常用方法与技巧 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有