津津的全家桶系系列
1.不高兴的津津 原题联接
题目描述
津津上初中了。
妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。
另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。
但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。
假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。
请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入文件包括七行数据,分别表示周一到周日的日程安排。
每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
输出文件包括一行,这一行只包含一个数字。
如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 7分别表示周一,周二,周三,周四,周五,周六,周日)。
如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
输入样例:
5 3
6 2
7 2
5 3
5 4
0 4
0 6
输出样例:
3
c++代码实现
#include <iostream>
using namespace std;
int main(){
//w代表具体的天,t代表最大学习时长
int w = 0 , t = 0;
for (int i = 1 ; i <= 7 ; i ++){
int a ,b ;
cin >> a >> b;
if (a + b > 8 && a + b > t){
t = a + b;
w = i;
}
}
cout << w;
return 0;
}
2.不高兴的津津(升级版) 原题连接
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每天妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。
这次与NOIp2004普及组第一题不同的是:假设津津不会因为其它事不高兴,但是她的不高兴会(当然高兴也会)持续到第二天。请你帮忙检查一下津津以后n天的日程安排,看看以后n天她会不会不高兴(计算方法:用昨天不高兴程度加上今天上课总时间减去8后得到的数作为今天不高兴程度);输出以后n天结束后不高兴程度和是多少。
输入格式
第1行:一个数n
第2行~第n+1行:每行两个数,表示这天上学时间和课外补习班时间
输出格式
一个数,这n天过后的不高兴程度和
输入样例:
7
5 3
6 2
7 2
5 3
5 4
0 4
0 6
输出样例:
-2
说明/提示
所有数据:上学时间和上课时间各不超过8,和不超过16,n<=3000
c++代码实现
#include <iostream>
using namespace std;
int res,he;
int main(){
int week;
cin >> week;
for(int i = 1;i<=week;i++){
int a,b;
cin >> a >> b;
res = res +a+b-8;
he +=res;
}
cout<<he <<endl;
return 0 ;
}
3.高兴的津津 原题连接
题目描述
津津上高中了。她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次 OI 比赛必拿 Au 虐全场。每次她拿到一个 Au 后就很高兴。假设津津不会因为其它事高兴,并且她的高兴会持续 TT 天(包包含获奖当天。就算在高兴的时候再次拿到 Au ,他的高兴也只能维持包括这次拿奖之日起 TT 天,而不是额外增加 TT 天的高兴时间,除非之后再拿奖)。请你帮忙检查一下津津接下来的的日程安排,要参加 nn 场比赛,看看接下来的几天,津津会累计开心多久?
输入格式
第一行两个整数 n 和 T。
接下来一行,n 个单调递增整数 $t_i$ , 表示她在第 $t_i$天的时候拿了一个 Au。
输出格式
一个整数表示,津津累计开心多久。
c++代码实现
#include<iostream>
using namespace std;
int main()
{
int n,ti;
cin>>n>>ti;//输入
int t[n+1];
for(int i=1;i<=n;i++)
cin>>t[i];
int ans=0;
for(int i=2;i<=n;i++)
if(t[i]-t[i-1]>ti)ans+=ti;else ans+=t[i]-t[i-1];//核心:不管下一个au如何,此次的第i-1个au必然会造成min(ti,t[i]-t[i-1])的高兴。
ans+=ti;//第n个au就不存在重叠的情况了,直接+=ti。
cout<<ans;
return 0;
}