Acwing 游戏时间 C++ python

简介: Acwing 游戏时间 C++ python

题目链接

问题描述:

image.png



根据y总的思路,通过转化为分钟计算,避免了复杂的多个判断语句。


首先声明最长时间不超过24h


只需考虑两种情况:比如开始时间是(7:20) 结束时间是(8:30)


开始时间等效于7*60+20=(第)440分钟,结束时间等效于8*60+30=(第)510分钟


经过了510-440=70分钟 即1 hour 10min


但是,经过了的分钟数要大于0,前提是结束时间的h大于开始时间的h


如果开始时间是(7:20) ,那么如果结束时间在(7:20)到(24:00)的范围内,都是可以这么计算的。


但如果结束时间落在(0:00)到(7:20)那么意味着开始时间从(7:20)经过了24:00,再从0:00到达结束时间,所以真正经过的分钟数


为(24*60-starttime对应的分钟数)+endtime对应的分钟数


综上:经过的时间=endtime-starttime(对应的分钟数) if endtime-starttime>=0


经过的时间=1440-starttime+endtime(对应的分钟数) if endtiime-starttime<0


C++  

#include <cstdio>
#include <iostream>
using namespace std;
int main(){
    int a,b,c,d,starttime,endtime;
    cin>>a>>b>>c>>d;
    starttime=a*60+b;
    endtime=c*60+d;
    if (starttime<endtime) cout<<"O JOGO DUROU "<<(endtime-starttime)/60<<" HORA(S) E "<<(endtime-starttime)%60<<" MINUTO(S)";
    else cout<<"O JOGO DUROU "<<(1440+endtime-starttime)/60<<" HORA(S) E "<<(1440+endtime-starttime)%60<<" MINUTO(S)";
}


image.png

python:小郑三行解决(不建议这么写,为了突显短而短没必要,不好理解反而)

a,b,c,d=map(int,input().strip().split())
start,end=a*60+b,c*60+d
print("O JOGO DUROU %d HORA(S) E %d MINUTO(S)"%((end-start)/60,(end-start)%60)) if start<end else print("O JOGO DUROU %d HORA(S) E %d MINUTO(S)"%((1440+end-start)/60,(end-start)%60))


推荐写法:一步步写清晰了就是好代码

a,b,c,d=map(int,input().strip().split())
start=a*60+b
end=c*60+d
if start<end:
    print("O JOGO DUROU %d HORA(S) E %d MINUTO(S)"%((end-start)/60,(end-start)%60)) 
else:
    print("O JOGO DUROU %d HORA(S) E %d MINUTO(S)"%((1440+end-start)/60,(end-start)%60))


我是小郑 正在奔赴热爱奔赴山海!


目录
相关文章
|
23天前
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
90 0
|
2月前
|
编译器 开发工具 C++
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
620 0
|
12天前
|
人工智能 算法 图形学
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
38 11
|
14天前
|
消息中间件 数据采集 数据库
庆祝吧!Python IPC让进程间的合作,比团队游戏还默契
【9月更文挑战第7天】在这个数字化时代,软件系统日益复杂,单进程已难以高效处理海量数据。Python IPC(进程间通信)技术应运而生,使多进程协作如同训练有素的电竞战队般默契。通过`multiprocessing`模块中的Pipe等功能,进程间可以直接传递数据,无需依赖低效的文件共享或数据库读写。此外,Python IPC还提供了消息队列、共享内存和套接字等多种机制,适用于不同场景,使进程间的合作更加高效、精准。这一技术革新让开发者能轻松应对复杂挑战,构建更健壮的软件系统。
26 1
WK
|
16天前
|
机器学习/深度学习 Java 程序员
为什么Python比C++慢很多?
Python相较于C++较慢主要体现在:动态类型系统导致运行时需解析类型,增加开销;作为解释型语言,逐行转换字节码的过程延长了执行时间;自动内存管理和垃圾回收机制虽简化操作但也带来了额外负担;全局解释器锁(GIL)限制了多线程性能;尽管Python库方便灵活,但在性能上往往不及C++底层库。然而,Python在某些领域如数据分析、机器学习中,凭借其高级别抽象和简洁语法仍表现出色。选语言需依据具体应用场景和需求综合考量。
WK
34 1
|
23天前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。
|
26天前
|
Unix C语言 C++
Python调用C/C++
Python调用C/C++
15 2
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
24 2
|
1月前
|
算法 数据可视化 机器人
Pinocchio - 开源多刚体动力学 C++、Python库
Pinocchio - 开源多刚体动力学 C++、Python库
48 2
|
1月前
|
算法 Ubuntu 机器人
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
DRAKE - 基于模型的机器人设计与验证 由丰田研究所支持的 C++ / Python 工具箱。
43 1