822 字
4 分钟
【洛谷】P1085[NOIP 2004 普及组] 不高兴的津津

【洛谷】P1085[NOIP 2004 普及组] 不高兴的津津
原题描述:
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 行数据,分别表示周一到周日的日程安排。每行包括两个小于 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 ,如果会则输出最不高兴的是周几(用 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
输入输出样例 #1
输入 #1
5 36 27 25 35 40 40 6输出 #1
3说明/提示
NOIP2004 普及组第 1 题
- 2021-10-27:增加一组 hack 数据
- 2022-06-05:又增加一组 hack 数据
题目分析
简而言之:
- 每天有两个数字:学校上课时间 + 妈妈安排上课时间。
- 如果两者之和大于8,那天津津就会不高兴。
- 找出最不高兴的一天(即和最大的那天),输出对应的星期几(1~7)。
- 如果没有一天大于8,就输出0。
解题思路
这种多组数据重复使用同一个公式计算的时候就是def函数定义大展身手的时候了。
首先我们得明确需要代码需求:
- 代码需要对每天输入的两门课时重复计算同一公式
- 需要存储7天的计算数据
- 需要判断7天内哪天最不高兴,都高兴则输出0
根据以上需求我们可以得出
- 定义一个函数来计算每天的不高兴值,公式实现方式为
学校上课时间+课外上课时间-8 - 运用列表来进行7天内容的存储
- 利用循环来对每天的不高兴值进行判断
解题
def unhappy(x,y):#计算不高兴值公式 a=x+y return max(a - 8, 0)day=[]#创建空列表来进行每天数据的存储for i in range(7):#获取输入的数值并将数值填入列表中 school,kewai=map(int,input().split()) day.append(unhappy(school,kewai))first_unhappy=0#创建计数器用于记录哪天最不开心for i in range(7):#历遍day列表里面的值,选出最大的值保存 if day[i]>day[first_unhappy]:#如果当前的不开心值大于first_unhappy first_unhappy=i#以最大值替换掉当前的值if max(day) == 0:#输出做判断 print(0)else: print(first_unhappy + 1)#列表索引从0开始的,所以要加一位【洛谷】P1085[NOIP 2004 普及组] 不高兴的津津
https://mikufans.yuzhiyuan.top/posts/洛谷p1085/分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 316 天
部分内容可能已过时