洛谷 P1085 [NOIP2004 普及组] 不高兴的津津

本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。
因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修改本段文字。
违者必究,谢谢配合。
个人主页:blog.csdn.net/jzwalliser

题目

洛谷 P1085 [NOIP2004 普及组] 不高兴的津津

[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 数据

想法

读取7次输入,分别是上课时间和补习时间,将它们相加,并判断是否大于8,如果确实超过8小时,那就打擂台,看哪天超过得最过分,并把这天记录下来,最后输出。

实现

  1. 输入7天的数据。
  2. 将每天的时间相加。
  3. 比较哪天的时间最长。
  4. 输出。

题解

C++

#include<bits/stdc++.h>
using namespace std;
int main(){
	int hours = 0; //最高记录
	int unhappy = 0; //最不开心的一天
	int school; //学校上课时间
	int other; //补习时间
	for(int i = 1;i <= 7;i++){
		cin >> school >> other; //输入
		int total = school + other; //总时间
		if(total > 8 and total > hours){ //超过8个小时,打擂台比较
			hours = total; //更新最高记录
			unhappy = i; //更新最不高兴的日子
		} 
	}
	cout << unhappy; //输出
	return 0;
}

Python

hours = 0 #最高记录
unhappy = 0 #最不开心的一天
for i in range(7):
    inp = input().split() #输入
    total = int(inp[0]) + int(inp[1]) #总时间
    if total > 8 and total > hours: #超过8个小时,打擂台比较
        hours = total #更新最高记录
        unhappy = i + 1 #更新最不高兴的日子
print(unhappy) #输出

难度

难度:★☆☆☆☆
这题应该挺简单的,题目虽然啰嗦冗长还创造了一个故事背景,但是意思还是比较明了的,实现起来也比较方便,不需要太多的推理。

结尾

这道题你是怎么让AC的?欢迎讨论₍˄·͈༝·͈˄*₎◞ ̑̑

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值