本文由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小时,那就打擂台,看哪天超过得最过分,并把这天记录下来,最后输出。
实现
- 输入7天的数据。
- 将每天的时间相加。
- 比较哪天的时间最长。
- 输出。
题解
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的?欢迎讨论₍˄·͈༝·͈˄*₎◞ ̑̑