python-纸牌游戏(赛氪OJ)

2024-08-21 18:12
文章标签 python 游戏 oj 纸牌

本文主要是介绍python-纸牌游戏(赛氪OJ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[题目描述]
今天你与你的挚友玩一种纸牌游戏,每一回合两人各出一张牌,如果你的牌点数大小比对方小,则你不得分,否则你的得分为两张卡牌点数差值的绝对值。
由于你有读心术,你已经知道了对方接下来要出的 n 张牌,a1​,a2​,a3​...an​。你手上也有 n 张牌 b1​,b2​,b3​,...bn​,问你如何安排这 n 张牌使你得的分数最大?
输入格式:
输入共三行。
第一行一个数字 n,代表 n 张牌。
第二行n个数字 a1​,a2​,a3​...an​,代表你的挚友的出牌的点数大小。
第三行n个数字 b1​,b2​,b3​...bn​,代表你的牌的点数大小。
输出格式:
输出你得的最大分数。
样例输入
1
1
2
样例输出
1
数据范围:                                                                  对于 100% 的数据,保证 1≤n≤2×105,1≤ai​≤1018,1≤bi​≤1018。
来源/分类(难度系数:三星
贪心 枚举 


完整代码展示:
n=int(input())
list_1=list(map(int,input().split()))
list_2=list(map(int,input().split()))
list_1.sort(reverse=True)
list_2.sort(reverse=False)
sum=0
for i in range(0,len(list_1)):
      if list_1[i]>list_2[i]:
          sum+=0
     else:
            sum+=abs(list_2[i]-list_1[i])
print(sum)


代码解释:
n=int(input())
 list_1=list(map(int,input().split()))
 list_2=list(map(int,input().split()))
”,让用户输入回合数n。接着让用户依次输入挚友和自己各自持有的牌点数,并将其分别储存在列表list_1,list_2中。
list_1.sort(reverse=True)
 list_2.sort(reverse=False)
”,对list_1,list_2中的元素分别进行降序排序,升序排序。
sum=0
 for i in range(0,len(list_1)):
       if list_1[i]>list_2[i]:
           sum+=0
      else:
             sum+=abs(list_2[i]-list_1[i])
”,令sum=0,遍立列表list_1中的元素,判断list_1[i]是否大于list_2[i]。如果是,则令sum+=0,否则令sum+=list_2[i]-list_1[i]的绝对值。
print(sum) ”。打印sum的最终结果。


运行效果展示:

4312f94871914e10a04865e21a4210d5.jpg

393b8e099c854d6d8267f0c08dbc1ae6.jpg 

              (声明:以上内容均为原创)

这篇关于python-纸牌游戏(赛氪OJ)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1093905

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Python pandas库自学超详细教程

《Pythonpandas库自学超详细教程》文章介绍了Pandas库的基本功能、安装方法及核心操作,涵盖数据导入(CSV/Excel等)、数据结构(Series、DataFrame)、数据清洗、转换... 目录一、什么是Pandas库(1)、Pandas 应用(2)、Pandas 功能(3)、数据结构二、安