洛谷[P1534]不高兴的津津(提高版)

探讨了一个关于学生津津的课程安排与她的情绪变化计算问题。通过算法,计算了津津在n天内的不高兴程度总和,展示了如何使用C++进行简单的数据处理和累积效果计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目传送门OvO


题目描述

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每天妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。

这次与NOIp2004普及组第一题不同的是:假设津津不会因为其它事不高兴,但是她的不高兴会(当然高兴也会)持续到第二天。请你帮忙检查一下津津以后n天的日程安排,看看以后n天她会不会不高兴(计算方法:用昨天不高兴程度加上今天上课总时间减去8后得到的数作为今天不高兴程度);输出以后n天结束后不高兴程度和是多少。

输入输出格式

输入格式:

第1行:一个数n

第2行~第n+1行:每行两个数,表示这天上学时间和课外补习班时间

输出格式:

一个数,这n天过后的不高兴程度和


看了这题,突然觉得这个津津是不是出题人QAQ 光速逃)
看看范围,觉得比普通版还简单,数组都不需要QAQ

#include <iostream>
#include <cstdio>//文件头
using namespace std;
long long n,a,b,he,jian;//定义
  //n是津津学习的天数,a是上学时间,b是课外补习的时间
  //he是不高兴值之和,jian是当天的不高兴值
int main()
{
  cin>>n;//输入天数
  for(int i=1;i<=n;i++)//循环
  {
    cin>>a>>b;//输入当天上学时间和课外补习的时间
    jian=jian+a+b-8;//记录当天的不高兴值
    he+=jian;//累加不高兴值
  }
  cout<<he;//输出不高兴值之和
  return 0;//程序拜拜
}

或者可以这么做:

#include<iostream>
using namespace std;
int n,sx[3001],kw[3001],i,sg=0,j;//数组要够大保证不溢出,还有定义成全局变量,懒得初始化233
int main()
{
    cin>>n;、、上课n天
    for(i=1;i<=n;i++)//一个循环搞定一切问题
    {
        cin>>sx[i]>>kw[i];//输入这一天上学时间和课外补习班时间
        j=j+sx[i]+kw[i]-8;//保存每天的开心程度,而不是一天过了就没了(注意!!!不清零!!!)
        sg+=j;//第i天的不开心程度的和
    }
    cout<<sg;//输出第n天结束时的开行程度
    return 0;//理解问题,实现不难,切勿copy,切记!!!
}
### 津津进阶 C语言 学习教程 #### 了解基础知识的重要性 对于希望提升C语言技能的学习者来说,巩固基础知识至关重要。这仅包括基本的数据类型、控制结构和函数定义等内容,还涉及到指针操作、内存管理以及文件处理等方面的知识[^1]。 #### 实践编程题目 为了更好地理解和应用所学的概念,参与实际项目或解决特定问题是十分有效的途径之一。例如,“高兴的津津”这一经典算法题能够帮助理解条件判断逻辑的应用场景;而通过完成诸如“铺地毯”的模拟类问题,则可以加深对数组及循环语句使用的认识[^2][^3]。 #### 掌握调试技巧 编写程序过程中难免会遇到错误,在此期间学会利用编译器报错信息定位并修正代码缺陷是一项必备能力。此外,还可以借助IDE内置工具或是命令行下的gdb等外部辅助软件来进行动态跟踪分析,从而提高解决问题效率。 ```c // 使用GDB进行简单调试的例子 int main() { int a = 5; int b = 0; // 假设这里有一个潜在除零异常 printf("Before division\n"); if (b != 0) { // 添加保护措施防止运行时崩溃 int result = a / b; printf("%d divided by %d is %d\n", a, b, result); } else { printf("Cannot divide by zero!\n"); } return 0; } ``` #### 参加在线竞赛与交流社区 积极加入像洛谷这样的平台参加各类比赛活动,并与其他爱好者互动分享经验心得也是错的选择。这样仅可以检验自己的水平差距所在之处,还能从中获取更多新颖有趣的解题思路启发。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值