[NOIP2004 普及组] 不高兴的津津 (Python3列表解法)

[NOIP2004 普及组] 不高兴的津津

题目描述

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

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

样例输出 #1

3

提示

NOIP2004 普及组第 1 题

  • 2021-10-27:增加一组 hack 数据
  • 2022-06-05:又增加一组 hack 数据

声明:本题不建议参考,因为解题过程比较复杂(?),那我为啥放出来呢?因为写这个代码查了好多,以后拿来复习复习

思路:

  1. 输入数据存入列表l(在第一个for语句里面一定要用同时输入两个数据的语句…
  2. 求和把和存入列表m
  3. 遍历求题目要求的
    细节:遍历环节要用if语句判断这个星期时间是否大于八小时,同时使用计数器count。另一个是m[z]>mi,这个可以取到时间相同但是索引更小的数。(当然这一整个if语句都很重要
l=[0]
for i in range(1,8):
    a,b=map(int,input().split())
    l.append(a)
    l.append(b)
m=[0]
mi=0
count=0
for x in range(1,15,2):
    m.append(l[x]+l[x+1])
    
for z in range(1,8):
    if m[z]<=8:
        count=count+1
    else:
        if m[z]>mi:
            mi=m[z]
            a=z
if count==7:
    print('0')
else:
    print(a)

收获/总结:
1、用python3的列表解法写的好繁琐(放在比赛早无了),不过对for循环和range函数更熟悉了
2、有了一个新的思路:如果题目要求从多组数据中筛选出一组数据,可以使用多个序列,然后放到一个序列里面去(指可变序列

以后不可以这样写python了,太繁琐了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值