洛谷刷题-P1085 不高兴的津津——Python题解

文章讲述了津津的繁忙学习生活,她每天上课时间加上妈妈额外安排的学习活动可能超过8小时。任务是检查下周的日程,判断津津是否会因为过度学习而不高兴,以及哪一天最不高兴。
摘要由CSDN通过智能技术生成

题目描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

输入格式

输入包括 77 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

输出格式

一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

输入输出样例

输入 #1

5 3
6 2
7 2
5 3
5 4
0 4
0 6

输出 #1

3

解题心得

看到输入类型第一反应是二维数组,本篇题解也是这样的。用二维数组存储一周七天的输入信息,遍历数组求和得到 sum,然后用if语句和 max 判断大小。

只有超过8小时才有比较的必要,同时设置一个max 与 sum 比大小,保证在时间相同的情况下,优先记录时间靠前的一天。

Python解题代码

arr = [[0]*2 for i in range(7)] # 初始化二维数组
sum, max = 0, 0
num = 0 # 记录最不开心的是哪一天

for i in range(7):
    arr[i][0], arr[i][1] = map(int, input().split())
    sum = arr[i][0] + arr[i][1]

    if sum > 8: # 超过8小时津津不开心
        if sum > max: # 优先记录时间靠前的一天,要时间更长才能更新max
            max = sum
            num = i

if max == 0:
    print(0)
else:
    print(num+1) # i从0到6循环,表示星期几需要+1
    

思维发散区

津津好惨。题目符合双减(狗头)

本题由于数据量是确定的,只要比较结果,是不需要存储数据的。于是我们可以直接省去初始化二维数组这个步骤,sum也不需要定义,直接用相加表示即可。

if的两个条件是同时满足,用并列条件写到一行即可。

a, b = 0, 0 # a, b代表每一行的两个数
max = 0
num = 0

for i in range(7):
    a, b = map(int, input().split())
    if ( a+b > 8 ) and ( a+b > max ):
        max = a+b
        num = i

if max == 0:
    print(0)
else:
    print(num+1)
    

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值